A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhaojingxi 中级黑马   /  2015-8-30 22:07  /  2242 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

10黑马币
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);
    }
}

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

最佳答案

查看完整内容

体现了多态的思想。。。。。

5 个回复

正序浏览
20和10,对于多态来说,变量和静态方法走的都是等号左边的类
回复 使用道具 举报
20和10  因为子继承了父,调用的非静态成员变量还是走自身的!
回复 使用道具 举报
b.i=20  ,a.i=20
回复 使用道具 举报
应该是20,10吧,因为B继承了父类A
回复 使用道具 举报
郝佳轩 发表于 2015-8-30 22:11
应该是20,10吧,因为B继承了父类A

体现了多态的思想。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马