提示:以下是本篇文章正文内容,下面案例可供参考
构造器
构造器是类的一种特殊的方法,它的主要作用是完成对新对象的初始化
基本语法
[修饰符] 方法名(形参列表) {
方法体;
}
说明:
1)构造器的访问修饰符可以默认,也可以是public protected private
2)构造器没有返回值
3)构造器名和类名要相同
4)参数列表 和 成员方法一样的规则
5)构造器的调用系统完成
细节
- 一个类可以定义多个不同的构造器,即构造器重载
- 构造器是完成对象的初始化,并不是创建对象
- 在创建对象时,系统自动的调用该类的构造方法
- 如果程序员没有定义构造器,系统会自动给类生成一个默认无参构造器(也叫默认构造)
- 一旦定义了直接的构造器,默认的构造器就覆盖了,就不能再使用默认的无参构造器,除非显示的定义一下,即:Person(){}
对象创建的流程分析
public class Constructor {
public static void main(String[] args) {
Person person = new Person(18, "小明");
}
}
class Person {//类Person
int age = 90;
String name;
public Person(int age, String name) {//构造器
this.age = age;//给属性赋值
this.name = name;
}
}
- 流程分析
- 加载Person类信息(Person.class),只会加载一次
- 在堆中分配空间(地址)
- 完成对象初始化
3.1 默认初始化 age = 0, name = null
3.2 显示初始化 age = 90, name = null
3.3 构造器初始化 age =18, name = 小明 - 把对象在堆中的地址,返回给person(person是对象名,也可以理解成是对象的引用)