This:
new以后就有了this,当前对象的地址。
级联调用:一次调用多个方法。a.b().c();
作用:
(1)解决变量命名冲突。
(2)在类当中的构造方法中,在调用构造方法之前显示地调用本类重载的哪个构造方法。
(3)可以作为返回值。
位置:构造方法的第一行语句
**语法:**this(参数签名)
创建一个对象调用一个或多个构造方法
在同一个构造方法当中不能同时出现this()和super()
初始化块:
含义:它是一个语句块,属于类。
语法:一堆大括号
位置:放在一个类里
作用:为堆里的对象里的实例全局变量初始化
调用时间:先于构造方法进行初始化
特点:像构造方法,创建几次对象调用几次
所有的属性及变量放在类的最前面,初始化块放在类的最后。
过程:
先构造方法压栈再创建子类对象
(1)创建子类对象,先找构造方法压栈。
(2)进到子类构造方法看。父类是否有有参或无参压栈。
(3)再来创建子类对象。
开始:
(4)为在父类定义被子类继承的属性开辟空间。
(5)属性默认初始化。
(6)调用父类的初始化块初始化。
(7)调用父类一个参数的构造方法。
(8)调用父类的无参的构造方法。
(9)为子类新增的属性开辟空间。
(10)子类新增属性默认初始化。
(11)调用子类的初始化块。
(12)调用子类的无参构造方法。