初始化问题
通过构造方法初始化与通过初始化块初始化有什么区别吗 我怎么觉得一样
通过构造方法初始化与通过初始化块初始化有什么区别吗 我怎么觉得一样
2016-09-26
我就按照慕课网练习题的例子来说
// 构造方法
public HelloWorld() {
System.out.println("通过构造方法初始化name");
name = "tom";
}
// 初始化块
{
System.out.println("通过初始化块初始化sex");
sex = "男";
}
分析:使用构造方法可以为每一个对象赋值name,使用初始化块赋值后,每个sex属性都是“男”
所以构造方法赋值比较常用,如果是只有一个对象那么效果完全一样
另外执行顺序不同(静态初始化块 >-实例初始化块>- 构造函数)。静态代码块在类加载时被执行,而非静态代码(包括初始化代码块和构造函数)在生成对象时才被执行
举报