java类的执行顺序

Posted on 2010-05-23 00:38 java小爬虫 阅读(2207) 评论(2)  编辑  收藏

用单步调试模式执行,然后好好琢磨吧。


class A{
    {
  System.out.print(5);//第五步;第十一步;
    }
 static String str = "x" ;//第一步;
 String s="y";//第六步;第十二步;
    static{
        System.out.print("1");//第二步;
    }
    public A(){
        System.out.print("2");//第七步;第十三步;
    }
}



class B extends A{
 String s="m"; //第八步;第十四步;
    static{
        System.out.print("a");//第三步;
    }
     static String str = "n" ;//第四步;
     {
   System.out.print(6);//第九步;第十五步;
   }
    public B(){
        System.out.print("b");//第十步;第十六步;
    }  
}




public class InitialOrder{
    public static void main(String[] ars){
       A ab = new B(); //执行到此处,结果: 1a526b  
       ab = new B(); //执行到此处,结果: 1a526b526b
    }
}

 

Feedback

# re: java类的执行顺序  回复  更多评论   

2010-05-24 21:37 by 车尘马足显者事,酒盏花枝隐士缘
如果在class B 中再加入:
final String s1="s1";
static final s2="s2";
那又是什么结果呢》》》???

# re: java类的执行顺序  回复  更多评论   

2010-05-24 22:52 by java小爬虫
@车尘马足显者事,酒盏花枝隐士缘


哥们,为什么不DEBUG一下呢?

只有注册用户登录后才能发表评论。


网站导航: