日期:2014-05-20  浏览次数:20642 次

类的初始化问题
class   C   extends   B
{
int   i   =   1;
C(int   i){
this.i   =   i;
System.out.println( "C()   's   i   is   "+i);
}
void   run(){
System.out.println( "C.run()     i   is   "+i);
}
public   static   void   main(String[]   args)  
{

C   c   =   new   C(10);

}
}


abstract   class   B
{
B(){
System.out.println( "B()   before   run() ");
run();
System.out.println( "B()   after   run() ");
}
  abstract   void   run();
}

大家事先预测一下打印内容,再自己编译运行一下,看看结果是不是一样,测试基本功!

------解决方案--------------------
B() before run()
C.run() i is 1
B() after run()
C() 's i is 10