方法的签名:方法名+参数列表
在一个类中不允许出现多个方法签名重复的情况

一、方法的重载(overload)

  1. 发生在同一个类中,方法名称相同,参数列表不同,方法体就不同。
  2. 编译器在编译时会根据方法的签名自动绑定调用的方法。
System.out.println();
System.out.println(" ");
System.out.println(55);
System.out.println(5.3);
System.out.println('6');
//println()就使用了重载的方式,可以输出多种数据类型

二、构造方法

  1. 给成员变量赋值初始值
  2. 与类同名,没有返回值类型(连void也没有)
  3. 创建对象时被自动调用
  4. 若自己没有定义构造方法,则编译器默认提供一个无参数构造方法,若自己定义了,则不再默认提供
  5. 构造方法可以重载
//创建了一个学生对象
//给成员变量赋默认值
//调用构造方法new Student();小括号是方法的标志
Student zs=new Student("张三",25,"廊坊");

三、this :指代当前对象,哪个对象调用方法它指的就是那个对象

只能用于方法中,方法中访问成员变量之前默认有个(this.



Java规定:成员变量和局部变量可以重名——在使用时采取的是就近原则;
当成员变量与局部变量重名时,此时若想要使用成员变量则this不可省略
成员变量——整个类都可应用
局部变量——独属于方法应用


常规写法:

内存管理——null

由jvm来管理的

  1. 堆:储存new出来的对象(包括成员变量)
  2. 栈:局部变量(包括方法的参数)
  3. 方法区:.class字节码文件(包括方法)
    练习
/*5 package oop.day02exer;public class Aoo {void show(){}void show(int age){}void show(int age,String name){}void show(String name,int age){}void show(String name){}
}
package oop.day02exer;public class OverloadDemo {public static void main(String[] args) {Aoo o=new Aoo();o.show();o.show(4);o.show(4,"Asd");o.show("asd");o.show("sda,4");}}*/
/*4 package oop.day02exer;public class Aoo {void show(){}void show(int age){}void show(int age,String name){}void show(String name,int age){}void show(String name){}
}
package oop.day02exer;public class OverloadDemo {public static void main(String[] args) {Aoo o=new Aoo();o.show();o.show(5);o.show(5,"Asd");o.show("asd");o.show("sda,5");}}*/
/*3 package oop.day02exer;public class Aoo {void show(){}void show(int age){}void show(int age,String name){}void show(String name,int age){}void show(String name){}
}
package oop.day02exer;public class OverloadDemo {public static void main(String[] args) {Aoo o=new Aoo();o.show();o.show(6);o.show(6,"Asd");o.show("asd");o.show("sda,6");}}*/
/*2 package oop.day02exer;public class Aoo {void show(){}void show(int age){}void show(int age,String name){}void show(String name,int age){}void show(String name){}
}
package oop.day02exer;public class OverloadDemo {public static void main(String[] args) {Aoo o=new Aoo();o.show();o.show(6);o.show(7,"Asd");o.show("asd");o.show("sda,8");}}*/
/*1 package oop.day02exer;public class Aoo {void show(){}void show(int age){}void show(int age,String name){}void show(String name,int age){}void show(String name){}
}
package oop.day02exer;public class OverloadDemo {public static void main(String[] args) {Aoo o=new Aoo();o.show();o.show(7);o.show(7,"Asd");o.show("asd");o.show("sda,74");}}*/
/*5package oop.day02exer;public class Student {String name;int age;String address;Student(String name,int age,String address){this.name=name;this.age=age;this.address=address;}void study(){System.out.println(name+"studing..");}void sayhi(){System.out.println("hi,name:"+name+";age:"+age+";address:"+address);}
}
package oop.day02exer;public class Student_Test {public static void main(String[] args) {Student ww=new Student("wangwu",54,"sh");ww.sayhi();}}*/
/*4 package oop.day02exer;public class Student {String name;int age;String address;Student(String name,int age,String address){this.name=name;this.age=age;this.address=address;}void study(){System.out.println(name+"studing..");}void sayhi(){System.out.println("hi,name:"+name+";age:"+age+";address:"+address);}
}
package oop.day02exer;public class Student_Test {public static void main(String[] args) {Student zs=new Student("zhangsan",22,"ls");zs.sayhi();}}*/
/*3 package oop.day02exer;public class Student {String name;int age;String address;Student(String name,int age,String address){this.name=name;this.age=age;this.address=address;}void study(){System.out.println(name+"studing..");}void sayhi(){System.out.println("hi,name:"+name+";age:"+age+";address:"+address);}
}
package oop.day02exer;public class Student_Test {public static void main(String[] args) {Student ls=new Student("lisi",33,"wh");ls.sayhi();}}*/
/*2 package oop.day02exer;public class Student {String name;int age;String address;Student(String name,int age,String address){this.name=name;this.age=age;this.address=address;}void study(){System.out.println(name+"studing..");}void sayhi(){System.out.println("hi,name:"+name+";age:"+age+";address:"+address);}
}
package oop.day02exer;public class Student_Test {public static void main(String[] args) {Student tom=new Student("Tom",55,"sade");tom.sayhi();}}*/
/*1package oop.day02exer;public class Student {String name;int age;String address;Student(String name,int age,String address){this.name=name;this.age=age;this.address=address;}void study(){System.out.println(name+"studing..");}void sayhi(){System.out.println("hi,name:"+name+";age:"+age+";address:"+address);}
}
package oop.day02exer;public class Student_Test {public static void main(String[] args) {Student ww=new Student("wangwu",54,"sh");ww.sayhi();}}*/

Java学习_day009面向对象(oop):对象和类(下)相关推荐

  1. Java学习_day009(oop):引用类型数组、继承的意义

    补充:null和NullPointerException null:表示空,没有指向任何对象: 若引用值为null,则该引用不能进行任何操作了, 若操作则发生NullPointerException空 ...

  2. 【JAVA SE】第六章 面向对象、对象和类以及封装

    第六章 面向对象.对象和类以及封装 文章目录 第六章 面向对象.对象和类以及封装 一.面向对象 1.概念 2.面向对象的三大特征 二.对象和类 1.基本概念 2.Java中的对象 3.Java 中的类 ...

  3. 深圳Java学习:面向对象【重点知识】

    深圳Java学习:面向对象[重点知识] 在Java的学习中,面向对象应该是Java技术的重中之重,虽然在生活中没有对象可以面对,但在技术中还是要一直接触面对对象,而且不可避免.今天千锋小编对面向对象来 ...

  4. Java学习_day008面向对象(OOP):对象和类

    面向对象:OO 面向对象的分析:OOA 面向对象的设计:OOD 面向对象分析与设计:OOAD--目标 面向对象的编程:OOP--起始点 高质量代码的要求(OO终极目标):复用性好.拓展性好.维护性好. ...

  5. Java码农进阶之路~面向对象之对象和类

    一 类和对象的概念 1.对象 在Java中,对象具有属性和方法.属性为对象的一般特征(抽象描述),方法为对象的一些行为.(对象是由类创建出来的具体的事物) 例如用对象描述一个程序员 属性: 姓名 性别 ...

  6. JAVA基础-U7 面向对象编程(基础部分)-类与对象

    类与对象(OOP) 快速入门 类是抽象的,概念的,代表一类事物.即它是数据类型 对象是具体的,实际的,代表一个具体事物.即它是实例 类是对象的模版,对象是类的一个个体,对应一个实例 养猫问题: 张老太 ...

  7. Java学习笔记07-面向对象

    面向对象 面向对象&面向过程的区别 面向过程思想 步骤清晰简单,第一步做什么,第二步做什么以及后续每一步都清清楚楚 面向过程适用于处理一些较为简单的问题 面向对象思想 物以类聚,分类的思维模式 ...

  8. Java学习笔记——面向对象

    声明:文章首发于我的个人微信公众号Java编程社区,查看更多文章与学习资源请移步我的公众号Java编程社区 万物皆对象 学习Java,我们都听过这句话:万物皆对象.那么什么是对象? 我们先来看看人类是 ...

  9. Java学习笔记——面向对象 1

    声明:本文首发于我的个人微信公众号[Java编程社区],查看更多文章与学习资源请移步我的公众号Java编程社区 万物皆对象 学习Java,我们都听过这句话:万物皆对象.那么什么是对象? 我们先来看看人 ...

最新文章

  1. mysql insert 结果集_SELECT查询结果集INSERT到数据表
  2. 西南大学网络教育学院计算机答案,西南大学网络与继续教育学院课程《数字信号处理》2018年春季大作业机考 答案.doc...
  3. web框架-Struts开始
  4. linux下qt生成可安装的程序,linux – 如何为Qt应用程序创建“安装”包?
  5. lua游戏开发实践指南光盘_Godot游戏开发实践之一:用High Level Multiplayer API制作多人游戏(上)
  6. java 是怎么跨平台运行的
  7. anroid Remote Service 使用注意事项
  8. CSS 绘制一个时钟
  9. idea导入导出 settings 设置文件
  10. java JButton计算器布局
  11. Mac 下 Chrome 谷歌浏览器 快捷键
  12. expandable长点击的实现
  13. 计算机专业对未来职业的理想追求,IT行业个人职业生涯规划
  14. 刚读博士想退学?如何避免博士毕业不了?
  15. Matlab 工作区变量和 MAT 文件
  16. 81章 老子1章到_三曜道长解读道德经: 信言不美 第81章
  17. python打卡记录去重_Pandas 数据筛选,去重结合group by
  18. 黑马程序员---java基础-Java之IO
  19. 量子计算机、康威扭结、奥数AI,这是2020年计算机、数学的重大突破
  20. java实现分页打印功能_分页功能的java实现

热门文章

  1. 第三方登录 (faceBook )
  2. JSPServlet学习手册
  3. 惊闻VeryCD的电驴下载部分即将关闭
  4. 关于Qt Designer程序/UI文件打开未响应的解决方法
  5. PySpider HTTP 599: SSL certificate problem错误的解决方法
  6. 解决spring-security session超时 Ajax 请求没有重定向的问题
  7. 解决Windows10下无法对docker容器进行端口访问(端口映射的问题)
  8. C#画图解决闪烁问题
  9. Python 解决 :NameError: name ‘reload‘ is not defined 问题
  10. 如何使用YUM列出包的内容?