快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

我在原问题上加了一个输出“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中,曾经说道父类的构造方式在子类的构造方式之前执行,这样说虽然不是错误的,但是是不

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






返回类别: 教程
上一教程: 求同存异??Java模式系列谈之模板方式
下一教程: 提高Java程序内存效率

您可以阅读与"java日记(3) 类的初始化问题(CSDN一个问题有感)"相关的教程:
· Java 类中类属性和对象属性的初始化顺序
· 关于JAVA import 的一个小问题
· 《Java编程思想》(第二版)第4章:初始化和清理
· 关于使用文本域(TEXTAREA)的一个问题
· 存储.PROPERTIES文件的一个问题
    微笑服务 优质保证 索取样品