1. 什么是构造函数
// 创建类的对象
Person p = new Person();
Person:变量类型
p:变量名
new:创建
Person():构造函数
2. 特点
2.1 普通类
- 方法名与类名相同;
- 支持重载;
- 每个类中,都至少有一个构造器;
- 如果没有显示的定义构造器的话,系统会默认提供一个空参构造器;
- 一旦显示的为类定义了构造方法,则默认构造方法自动消失;
- 构造方法不能被static,final,abstract,synchronized,native等修饰符修饰;
2.2 继承
- 不会被子类继承,更谈不上被覆盖;
- 子类所有构造函数,默认都会访问父类无参构造函数,因为子类每个构造函数都有隐式的super() ;
- 子类创建对象,首先调用父类无参构造器,没有无参构造器则用super(参数列表) 去调用父类;
- 子类构造器要调用父类构造器用super,调用本类其他构造器用this,都需要写在第一行,所以两者不可共存;
3. 作用
- 创建对象
- 为成员变量初始化
4. 补充
new 操作符用来从堆中分配指定类型的内存空间,并返回响应类型的引用,
出现new 都存在堆中,其余都存在栈中