不好意思有点标题党了。不过你要是能在5分钟之类不用调试工具就非常正确的写出下面代码执行的结果,我就可以很负责任的告诉你:你已经不是菜菜了。:)class base0{

System.out.println("base0初始化块1"); 

base0(){
System.out.println("base0构造函数");
}

System.out.println("base0初始化块2"); 

static { 
System.out.println("base0静态方法1"); 
}

System.out.println("base0初始化块3"); 

static { 
System.out.println("base0静态方法2"); 
}
}class base1 extends base0{

System.out.println("base1初始化块1"); 

base1(){
System.out.println("base1构造函数");
}

System.out.println("base1初始化块2"); 

static { 
System.out.println("base1静态方法1"); 
}

System.out.println("base1初始化块3"); 

static { 
System.out.println("base1静态方法2"); 
}
}class base2 extends base1{

System.out.println("base2初始化块1"); 

base2(){
System.out.println("base2构造函数");
}

System.out.println("base2初始化块2"); 

static { 
System.out.println("base2静态方法1"); 
}

System.out.println("base2初始化块3"); 

static { 
System.out.println("base2静态方法2"); 
}
}public class Test extends base2{ 

System.out.println("Test初始化块1"); 


private Test( int ix){
System.out.println("Test数据成员ix:" + this.ix); 
System.out.println("Test构造函数ix:" + ix);
  }


System.out.println("Test初始化块2"); 


static { 
System.out.println("Test静态方法1"); 
}


System.out.println("Test初始化块3"); 


static { 
System.out.println("Test静态方法2"); 
}

private int ix = 100; public static void main(String[] args) { 
System.out.println("开始Test类的main方法");
Test t1; 
System.out.println("开始Test类第一个对象的实例化");
t1 = new Test(1); 
Test t2; 
System.out.println("开始Test类第二个对象的实例化");
t2 = new Test(2); 

}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【redbridge】截止到2008-07-19 22:17:13的历史汇总数据(不包括此帖):
    发帖的总数量:22                       发帖的总分数:480                      每贴平均分数:21                       
    回帖的总数量:40                       得分贴总数量:6                        回帖的得分率:15%                      
    结贴的总数量:21                       结贴的总分数:460                      
    无满意结贴数:5                        无满意结贴分:210                      
    未结的帖子数:1                        未结的总分数:20                       
    结贴的百分比:95.45 %               结分的百分比:95.83 %                  
    无满意结贴率:23.81 %               无满意结分率:45.65 %                  
    值得尊敬
      

  2.   

    用了不止5分钟 base0静态方法1
    base0静态方法2
    base1静态方法1
    base1静态方法2
    base2静态方法1
    base2静态方法2
    Test静态方法1
    Test静态方法2
    base0初始化块1
    base0初始化块2
    base0初始化块3
    base1初始化块1
    base1初始化块2
    base1初始化块3
    base2初始化块1
    base2初始化块2
    base2初始化块3
    Test初始化块1
    Test初始化块2
    Test初始化块3
    开始Test类的main方法
    开始Test类第一个对象的实例化
    base0构造函数
    base1构造函数
    base2构造函数
    Test数据成员ix:100
    Test数据成员ix:1
    开始Test类第二个对象的实例化
    base0构造函数
    base1构造函数
    base2构造函数
    Test数据成员ix:100
    Test数据成员ix:2
      

  3.   

    这个问题设计的很巧妙,main函数写在Test中,所以超类的以及本类的静态初始化语句执行的比main都早。
      

  4.   

    这个是答案:
    base0静态方法1
    base0静态方法2
    base1静态方法1
    base1静态方法2
    base2静态方法1
    base2静态方法2
    Test静态方法1
    Test静态方法2
    开始Test类的main方法
    开始Test类第一个对象的实例化
    base0初始化块1
    base0初始化块2
    base0初始化块3
    base0构造函数
    base1初始化块1
    base1初始化块2
    base1初始化块3
    base1构造函数
    base2初始化块1
    base2初始化块2
    base2初始化块3
    base2构造函数
    Test初始化块1
    Test初始化块2
    Test初始化块3
    Test数据成员ix:100
    Test构造函数ix:1
    开始Test类第二个对象的实例化
    base0初始化块1
    base0初始化块2
    base0初始化块3
    base0构造函数
    base1初始化块1
    base1初始化块2
    base1初始化块3
    base1构造函数
    base2初始化块1
    base2初始化块2
    base2初始化块3
    base2构造函数
    Test初始化块1
    Test初始化块2
    Test初始化块3
    Test数据成员ix:100
    Test构造函数ix:2
      

  5.   

    think in java里面有详细的介绍
      

  6.   

    我还是菜菜!不想看到那么多static修饰过的东西。不OO
      

  7.   

    强。
    基础不成问题,把这些语句挨着看下来,再把结果写出来比较郁闷,呵呵
    说原理倒是easy