构造方法:
*构造方法:
对象都有构造方法
如果没有,编译器加一个default构造方法
抽象类(abstract)不能用new创建实例但是也有构造方法。
调用本类或者父类的构造方法:
*调用本类或者父类的构造方法
this调用本类的其他构造方法
super调用直接父类的构造方法
this和super要放在第一条语句,且只能有一条
*如果没有this以及super,则编译器自动加上super(),即调用直接父类不带参数的构造方法。
*因为必须令所有的父类的构造方法都得到调用,否则整个对象的构造就可能错误。
创建对象时初始化:
*可以用{{}}来对字段赋值
实例初始化与静态初始化:
*在类中直接写
在{}中写
实例初始化,先于构造方法{}中的语句执行
静态初始化:
static{语句}
静态初始化,在第一次使用这个类时要执行
执行的具体时间不确定但是先于实例初始化