构造,重载,this
1.什么是对象
- 程序是为了模拟现实世界,解决现实问题而使用计算机语言编写的指令集和。
- 现实世界是由无数个”对象”组成。
- 万物皆对象。任何对象,都由自己的特征和行为。
- 特征:称之为属性,一般为名词,代表对象有什么。
- 行为:称之为方法,一般为动词,代表对象能做什么。
- 分析一个对象有什么?(手机:属性)
- 颜色、品牌、价格、星号、重量、尺寸、材质
- 分析一个对象能做什么?(手机:方法)
- 打电话、发短信、拍照、上网
- 程序中的对象
- 来自于模板(类)创造出来程序中的实体(对象)。
2.类与对象的关系
- 类:定义了对象应具有的特征和行为,类是对象的模板
- 对象:拥有多个特征和行为的实体,对象是类的实例
1 | |
3.实例变量与局部变量
- 属性、实例变量、成员变量,三者等价
- 实例方法、成员方法,二者等价
- reference - 引用、句柄、指针

4.方法重载
- 方法重载(Overload):一个类中定义多个相同名称的方法
- 到底采用哪种形式,需要取决于调用者给定的方法的参数
- 要求:
- 方法名称相同
- 参数列表不同(类型、个数、顺序)
- 与访问修饰符、返回值类型、形参的名称均无关
- 调用带有重载的方法时,需要根据传入的参数去找到对应的方法
- 好处:屏蔽使用差异,方便、灵活。
1 | |
5.构造方法
- 构造方法(Constructor):类中的特殊方法,主要用于创建对象
- 要求:
- 名称与类名完全相同(包括大小写)
- 没有返回值类型修饰符(void也没有)
- 创建对象时触发构造方法的调用,不可通过.访问符访问
- 对象创建的过程:
- 内存堆区中开辟对象空间
- 为各个属性赋予初始值(默认0 / 0.0 / null)
- 执行构造方法中的代码
- [将对象的地址赋值给变量]
- 构造方法也可以重载,遵循重载规则
- 【注意】
- 如果没有显示定义构造方法,编译器会默认提供一个无参构造方法
- 如果显示定义了有参构造方法,则无参构造方法必须也要显示定义
- 没有public声明的构造函数,在非同包中不能被访问
1 | |
6.this关键字
- this是类中的默认引用,代表当前实例(当前对象)。
- this关键字的三种用法:
- 调用实例属性、实例方法,eg:this.name、this.sayHi()
- 调用本类中的其他构造方法,eg:this()、this(实参)
- this([实参])必须在构造方法的首行,仅可在构造方法中使用
- 表示当前方法
- 默认情况下,实例属性和方法前的this.隐式存在
1 | |
构造,重载,this
https://janycode.github.io/2016/04/28/02_编程语言/01_Java/01_JavaSE/02_面向对象/构造,重载,this/