1 构造方法
1.1 概念
构造方法是一种特殊的方法,他是一个与类同名且没有返回值类型的方法
构造方法的主要功能就是完成对象创建或者初始化
当类创建对象(实例化)时,会自动调用构造方法
构造方法与普通方法一样也可以重载.
1.2 形势
关于构造函数怎么记忆:
1.特点:方法名与类名相同,且没有返回值类型
2.执行时机:创建对象时立即执行
3.默认会创建无参构造,但是,如果自定义了含参构造,默认的无参构造会被覆盖,注意要手动添加
2 构造代码块与局部代码块
2.1 形势
1 | {代码.....}
2.2 构造代码块的特点
1.位置:在类的内部,在方法的外部
2.作用:用于抽取构造方法中的共性代码
3.执行时机:每次调用构造方法前都会调用构造代码块
4.注意事项:构造代码块优先于构造方法加载
2.3 局部代码块
1.位置:在方法里面的代码块
2.作用:通常用于控制变量的作用范围,出了花括号就失效
3.注意事项:变量的作用范围越小越好,成员变量会存在线程安全的问题
3 this
3.1 概念
this代码本类对象的一个引用对象
3.2 形势
this.name = name;
4 创建对象的流程
Person p = new Person();//短短这行代码发生了很多事情
1.把Person.class文件加载进内存
2.在栈内存中,开辟空间,存放引用变量P
3.在堆内存中,开辟空间,存放Person对象
4.堆成员变量进行默认的初始化
5.堆成员变量进行显示初始化
6.执行构造方法(如果有构造代码块,就先执行构造代码块在执行构造方法)
7.堆内存完成
8.把堆内存的地址值赋值给变量P,P就是一个引用变量,引用了Person对象的地址值