目录
一、构造器特征
- 它具有与类相同的名称
- 它不声明返回值类型。(与声明为void不同)
- 不能被static、final、synchronized、abstract、native修饰,不能有 return语句返回值
二、构造器的作用
- 创建对象
- 初始化对象的信息
如同我们规定每个“人”一出生就必须先洗澡,我们就可以在“人”的构造器中加入完成“洗澡”的程序代码,于是每个“人”一出生就会自动完成“洗澡”,程序就不必再在每个人刚出生时一个一个地告诉他们要“洗澡”了。
三、语法格式
修饰符 类名 (参数列表) {
初始化语句;
}
说明:
根据参数不同,构造器可以分为如下两类:
- 隐式无参构造器(系统默认提供)
- 显式定义一个或多个构造器(无参、有参)
注意:
- Java语言中,每个类都至少有一个构造器
- 如果没显式的定义类的构造器的话,则系统默认提供一个空参的构造器
- 默认构造器的修饰符与所属类的修饰符一致
- 一旦显式定义了构造器,则系统不再提供默认构造器
- 一个类可以创建多个重载的构造器
- 父类的构造器不可被子类继承
public class Car {
private String name;
private int price;
//显示无参构造器
public Car() {
}
//显示有参构造器
public Car(String name1) {
name=name1;
}
//显示有参构造器
public Car(String name1,int price1) {
name=name1;
price=price1;
}
}
四、构造器重构
- 构造器重载使得对象的创建更加灵活,方便创建各种不同的对象。
- 构造器重载,参数列表必须不同
public class Person {
public String name;
public int age;
public Date d;
public Person(String name, int age, Date d) {
}
public Person(String name, int age) {
}
public Person(String name, Date d) {
}
public Person(){
}
}