黑马程序员技术交流社区

标题: 为什么在多态中方法输出的是子类的,而成员变量是父类的?? [打印本页]

作者: n_Nie1991    时间: 2015-12-30 22:54
标题: 为什么在多态中方法输出的是子类的,而成员变量是父类的??
class Demo {
        public static void main(String[] args){
                Animal an = new Cat();
                an.eat();
                System.out.println(an.age);
        }
}
class Animal {
        int age = 10;
        public void eat() {
                System.out.println("动物吃饭");               
               
        }
}
class Cat extends Animal {
        int age = 20;
        public void eat() {
                System.out.println("猫吃饭");
        }
}

打印的是子类的方法 和父类的成员变量 .为什么不是子类的变量
作者: tang9137    时间: 2015-12-30 23:04
只需要记住 方法的时候编译看左边运行看右边,其他的 编译运行都是看左边  当他是多台特性就好了
作者: 马赛    时间: 2015-12-31 00:02
我当时上课的时候也在纠结为什么,结果后来发现纠结半天会使自己更记不住这些结论,因为太纠结为什么了。现在我的建议就是不要问为什么,先记住结论就可以




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