构造器的特征
1.它具有与类相同的名称
2.它不声明返回值类型。(与声明为void不同)
3.不能被static、final、synchronized、abstract、native修饰,4.不能有return语句返回值
构造器的作用: 创建对象;给对象进行初始化
如:Order o = new Order(); Person p = new Person(“Peter”,15);
public class Animal {
private int legs;
// 构造器
public Animal() {
legs = 4;
}
public void setLegs(int i) {
legs = i;
}
public int getLegs() {
return legs;
}
}
根据参数不同,构造器可以分为如下两类:
隐式无参构造器(系统 默认 提供)
显式定义一个或多个构造器(无参、有参)
注 意:
1.Java 语言中,每个类都至少有一个构造器
2.默认构造器的修饰符与所属类的修饰符一致
3.一旦 显式定义了 构造器, 则系统 不再 提供默认 构造 器
4.一个类可以创建多个 重载 的构造器
5.父类的构造器不可被子类继承
赋值的位置:
① 默认初始化
② 显式初始化
③ 构造器中初始化
④ 通过“对象.属性“或“对象.方法”的方式赋值
赋值的先后顺序:
① - ② - ③ - ④
this使用
1. 它在方法内部使用,即这个方法所属对象的引用;
2.它在构造器内部使用,表示该构造器正在初始化的对象。
3. this 可以调用类的属性、方法和构造器
什么时候使用this关键字呢?
当在方法内需要用到调用该方法的对象时,就用this。
具体的:我们可以用this来区分属性和局部变量。
比如:this.name = name;
注意:
可以在类的构造器中使用"this(形参列表)"的方式,调用本类中重载的其
他的构造器!
明确:构造器中不能通过"this(形参列表)"的方式调用自身构造器
如果一个类中声明了n个构造器,则最多有 n - 1个构造器中使用了"this(形参列表)"
"this(形参列表)"必须声明在类的构造器的首行!
在类的一个构造器中,最多只能声明一个"this(形参列表)"