黑马程序员技术交流社区
标题:
代码块
[打印本页]
作者:
lts0616
时间:
2015-12-6 20:19
标题:
代码块
class Fu {
static {
System.out.println("静态代码块Fu");
}
{
System.out.println("构造代码块Fu");
}
public Fu() {
System.out.println("构造方法Fu");
}
}
class Zi extends Fu {
static {
System.out.println("静态代码块Zi");
}
{
System.out.println("构造代码块Zi");
}
public Zi() {
System.out.println("构造方法Zi");
}
}
class ExtendsTest2 {
public static void main(String[] args) {
Zi z = new Zi();
}
}
静态代码块Fu
静态代码块Zi
构造代码块Fu
构造方法Fu
构造代码块Zi
构造方法Zi
*/
打印的顺序为什么是这个?不是静态代码块>>构造代码块>>构造方法吗
作者:
xiaoaonuanhu
时间:
2015-12-6 20:30
是啊,静态代码块随着类的产生而产生,构造代码块在对象执行的 时候执行了,但是要先执行父类。所以是这个结果的。
作者:
bbaijiajinger
时间:
2015-12-6 21:46
要对父类进行出初始化,然后才对子类进行初始化
作者:
高云
时间:
2015-12-6 21:54
对,静态代码块随着类加载的,子类继承了父类的,所以先打印父类的静态代码块
作者:
吕振廷
时间:
2015-12-6 23:31
好好复习下
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2