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

© 江楠大盗 中级黑马   /  2016-8-22 21:52  /  739 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Test2_Polymorphic {
        public static void main(String[] args) {
                A a = new B();
                a.show();
        }
}
class A {
        public void show() {
                show2();
        }
        public void show2() {
                System.out.println("我是父类的show2输出");
        }
}
class B extends A {
        public void show() {
                super.show();
        }
        public void show2() {
                System.out.println("我是子类的show2输出");
        }
}
代码如上,为什么super.show()方法调用父类的show方法后,在方法内部不是就近调用父类的show2方法输出“我是父类的show2输出”,而是调用子类的show2方法输出“我是子类的show2输出”???

2 个回复

倒序浏览
方法重写了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马