持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第11天,点击查看活动详情
构造方法/构造器
概念:
完成对类的一个初始化,我们之前都是创建一个对象,然后再给对象里面的属性分别赋予一个初值。
基本语法:
[修饰符] 方法名(形参列表){
方法体;
}
特点:
- 构造器的修饰符可以默认(可以没有修饰符),也可以是protected、public、private;
- 构造器没有返回值(可以从上面的基本语法清晰看出),注意此时也不能写void;
- 方法名必须和类名相同;
细节注意:
- 一个类可以有多个不同的构造器,即构造方法的重载;
- 构造器是对对象里属性的初始化,并不是创建一个对象;
- 在创建对象时,系统自动调用该类的构造方法; 4. 如果没有定义一个构造方法,那么系统没生成一个默认无参构造器(默认构造器),一旦定义了,默认无参构造器就会被覆盖,除非对它进行显示的定义。
- 大家可以将方法的重载和构造方法对比起来一起学习,后面还有方法的重写,不要将概念记岔了。
代码演示:
this关键字:
概念:
Java虚拟机给每一个对象分配一个this,代表当前对象,某个this指的就是new的那个对象,或者说是使用该构造方法的对象。当某方法的参数列表里的参数名和类的属性名相同时,就会使用到this。
简言之,哪个对象调用某个方法,this.方法中的this就表示哪个对象。
细节注意:
- this关键字可以访问本类的属性、方法、构造器;
- this可以区分当前类的属性和局部变量;
- 访问成员方法的语法:this.方法名(参数列表);
- this不能在类定义的外部使用,只能在类定义的方法中使用,因为它指向调用该方法的对象;
- 访问构造器的语法:this(参数列表)只在构造方法中使用。