目录
一、构造器的特征
- 它具有与类相同的名称
- 它不声明返回值类型(与声明为void不同)
- 不能被static、final、synchronized、abstract、native修饰,不能有 return语句返回值
二、构造器的作用
- 创建对象
- 给对象进行初始化
如:Order o = new Order(); Person p = new Person(“Peter”,15); 如同我们规定每个“人”一出生就必须先洗澡,我们就可以在“人”的 构造器中加入完成“洗澡”的程序代码,于是每个“人”一出生就会自动完成“洗澡”,程序就不必再在每个人刚出生时一个一个地告诉他们要“洗澡”了。
根据参数不同,构造器可以分为如下两类:
- 隐式无参构造器(系统默认提供)
- 显式定义一个或多个构造器(无参、有参)
三、说明
- 如果没有显式的定义类的构造器的话,则系统默认提供一个空参的构造器
- 定义构造器的格式: 权限修饰符 类名(形参列表){}
- 一个类中定义的多个构造器,彼此构成重载
- 一旦我们显式的定义了类构造器之后,系统就不在提供默认的空参构造器
- 一个类中至少要有一个构造器
package exer;
public class PersonTest {
public static void main(String[] args) {
//创建类的对象:new + 构造器
Person person = new Person();
person.eat();
//初始化对象的信息
Person p1 = new Person("Money");
System.out.println(p1.name);
}
}
class Person {
//属性
String name;
int age;
//构造器
public Person() {
System.out.println("Person().....");
}
//初始化对象的信息(构造器)
public Person(String name) {
this.name = name;
}
public void eat() {
System.out.println("人吃饭");
}
public void study() {
System.out.println("人可以学习");
}
}