·您的位置: 首页 » 资源教程 » 编程开发 » JAVA、JSP » java日记(3) 类的初始化问题(CSDN一个问题有感)

java日记(3) 类的初始化问题(CSDN一个问题有感)

类别: JAVA教程  评论数:0 总得分:0
我在原问题上加了一个输出“7”;便于说明父类初始化的时间;

public class Test2 extends Test1 {
{
System.out.print("1");
}

Test2() {
System.out.print("2");
}

static {
System.out.print("3");
}

{
System.out.print("4");
}

public static void main(String[] args) {
new Test2();
}
}

class Test1 {
{
System.out.print("7");
}

Test1() {
System.out.print("5");
}

static {
System.out.print("6");
}
}

程序执行结果:6375142
调用顺序:
1、先对类进行加载:初始化静态变量,先初始化父类的静态变量,然后才是子类的静态变量;
2、对类进行初始化:在子类初始化以前,先进行父类的初始化,以及父类构造器的调用;
3、最后初始化子类,调用子类构造方法;

在中文TIJ中,曾经说道父类的构造方法在子类的构造方法之前执行,这样说虽然不是错误的,但是是不

完善的,应该是父类的构造方法在子类初始化之前就已经执行了。





-= 资 源 教 程 =-
文 章 搜 索
关键词:
类型:
范围:
纯粹空间 softpure.com
Copyright © 2006-2008 暖阳制作 版权所有
QQ: 15242663 (拒绝闲聊)  Email: faisun@sina.com
 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛   Valid XHTML 1.0 Transitional
百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备19116064号-1