三种属性初始化方法
- 声明属性时初始化
- 在初始化块中初始化
- 在构造方法中初始化
测试代码
我用下面这段代码来演示属性的3种初始化方法的执行顺序
public class Hero {
private String name = getName("属性声明"); // 1.
public Hero() { // 构造方法 // 3.
getName("构造方法");
}
// 初始化块
{
getName("初始化块"); // 2.
}
// 静态方法
public static String getName(String str) {
System.out.println("测试:" + str);
return str;
}
public static void main(String[] args) {
new Hero();
}
}
输出结果
从输出结果我们可以看到,最先执行的是在定义属性时初始化的内容,再次是初始化块中对属性的初始化,最后是执行在构造方法中属性的初始化
Don't dive up your hope and try again.