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

java之中的变态问题......
1、

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
{  

        Test1()
        {  
                System.out.print( "5 ");
        }  

        static
        {
                System.out.print( "6 ");
        }  
}

 

2、

public   class   Test3   extends   Test4
{
        int   i=30;  

        Test3()
        {
                print();
                i=40;
        }  

        public   static   void   main(String[]   args)  
        {
                System.out.println(new   Test3().i);
        }  

        void   print()
        {
                System.out.println(i);
        }  

}  

class   Test4  
{  
        int   i=10;

        Test4()
        {
                print();
                i=20;
        }  

        void   print()
        {

                System.out.println(i);
        }
}  

 

这两个题目非常变态,大家看看会输出什么.知道的,谁能给我解释下具体的原因,感激不尽..............


 


------解决方案--------------------
这种标题很容易让人得心脏病~