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

弱弱的问一个关于JAVA成员变量继承的问题


package   javaapplication3;

public   class   Main   {
       

          public   static   void   main(String[]   args)   {
                //   TODO   code   application   logic   here
                Inh2   i2   =new   Inh2();
                i2.print();
        }
       
}
class   Inh1{
        public     String   s   = "inh1 ";
        public   void   print(){
                System.out.println(s);
        }
}
class   Inh2   extends   Inh1{
        public     String   s   = "inh2 ";
}
这一段代码输出的为什么是inh1而不是inh2阿

------解决方案--------------------
成员变量可以被继承,但不能构成多态。只有方法才构成多态。也就是说,方法可以被动态绑定,而变量永远是静态绑定。