黑马程序员技术交流社区

标题: 代码问题 [打印本页]

作者: zhaojingxi    时间: 2015-8-30 22:07
标题: 代码问题
class A {
public int i = 10;
   }
   class B extends A{
       public int i = 20;
   }
public class Test{
    public static void main(String args[]){
       B b = new B();
       A a = b;  
       System.out.println(b.i);
       System.out.println(a.i);
    }
}

请问大神这段代码的输出是多少?为什么?


作者: 郝佳轩    时间: 2015-8-30 22:07
郝佳轩 发表于 2015-8-30 22:11
应该是20,10吧,因为B继承了父类A

体现了多态的思想。。。。。
作者: 郝佳轩    时间: 2015-8-30 22:11
应该是20,10吧,因为B继承了父类A
作者: a6658637    时间: 2015-8-30 22:12
b.i=20  ,a.i=20
作者: 肖天长    时间: 2015-8-30 22:40
20和10  因为子继承了父,调用的非静态成员变量还是走自身的!
作者: 水果牛牛    时间: 2015-9-10 09:57
20和10,对于多态来说,变量和静态方法走的都是等号左边的类




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2