public class T{
      void aMethod(){
          System.out.println("this is first method");
      }
}public class X extends T{
     X(){
        aMethod();
    }
    void aMethod(){
      System.out.println("this id second method");
   }
}
public class C{
      public static void main(String[]args){
            new X();             //请问程序执行之后会输出什么?为什么?
      }
}

解决方案 »

  1.   

    如果把X.class显示写成下面这样你应该就会明白了.
    public class X extends T{
        X(){
            this.aMethod();
        }
        @Override
        void aMethod(){
            System.out.println("this id second method");
        }
    }
      

  2.   

    this id second method基础烂到地了,懒得解释
      

  3.   

    两句都有先是first然后是second ,你看一下java编程思想这本书。。另外建议楼主,自己运行一下程序
      

  4.   

    不会有first ,T的构造方法又没有输出语句、