用一个例子搞清楚java类的初始化过程


今天培训的时候,为了演示java类的初始化过程,我写了一个类。
不过因为没有准备好,导致演示失败了。呵呵
现在我整理了一下思路,把这个例子重新写了一下。

 代码如下,java文件可以见附件。执行一下——>所有疑惑都在《Thinking in java》的“初始化和清理”那一章,有兴趣者请查阅。

 // New.java

 

 /**
 * 演示类的初始化过程
 * @author yangxg
 */
public class New extends Old {
    public static void main(String[] args) {
        System.out.println("-->运行new New(\"5\")");
        New new1 = new New("new_1");
    }
    
    static Flag staticFlag1 = new Flag("static_flag_1");//静态变量
    static{
        System.out.println("New类静态代码块初始化");//静态块
    }
    Flag flag1 = new Flag("flag_1");//类变量
    
    public New(String i) {//构造函数
        super(i+"父类");
        System.out.println(i+"构造函数初始化");
    } 
    
    
}
class Old{
    static Flag staticFlag0 = new Flag("static_Flag_0");
    static{
        System.out.println("Old类静态代码块初始化");
    }
    Flag flag0 = new Flag("flag_0");
    /**
     * @param name 对象引用名称
     */
    Old(String name){
        System.out.println(name+"的构造函数初始化");
    }
}
class Flag{
    Flag(String f){
        System.out.println(f+"初始化");
    }
}

 【2008-3】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值