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

© 汉强 中级黑马   /  2016-6-10 20:41  /  856 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

5.        请写出下面程序的运行结果
class Fu {
        public void show() {
                System.out.println("这是父类的show方法");
        }
}
class Zi extends Fu {
        public void show() {
                System.out.println("这是子类的show方法");
        }
        public void method() {
                System.out.println("这是子类的method方法");
        }
}
class DuoTai{
        public static void main(String[] args) {
                Fu  f = new Zi();
                f.show();
                Zi  z = (Zi)f;
                z.method();
        }
}

3 个回复

倒序浏览
这个是多态啊  非静态的方法看子类就好了   下面是向下转型了
回复 使用道具 举报
考察的是多态:
    new Zi()实例化子类对象,并将其值赋给父类对象f,父类对象调用f调用子类所定义的show()方法
              打印“这是子类的show方法”
     对于子类添加的新方法method(),父类无法访问,对象f前面的(Zi),表示强转成Zi类型,然后将转换后的结果赋给子类Zi定义的z引用
             打印“这是子类的method方法”
回复 使用道具 举报 1 0
TCK8888 发表于 2016-6-10 22:01
考察的是多态:
    new Zi()实例化子类对象,并将其值赋给父类对象f,父类对象调用f调用子类所定义的show() ...

赞一下  都是大神
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马