class Amphibian{ public void name() { System.out.println("两栖动物"); } public static void play(Amphibian a) { a.name(); } } public class Frog extends Amphibian{ // public void name() // { // System.out.println("青蛙"); // } // public static void play(Amphibian a) // { // a.name(); // } public static void main(String[] args) { Frog f=new Frog(); Amphibian.play(f); } }
子类中没有覆盖父类的方法时,向上转型后输出结果为 两栖动物
如果将程序中的注释部分还原,输出结果变成了 青蛙
此时的向上转型的效果并不显现,这是为什么?
而且play()方法是通过Amphibian调用的,怎么能够访问到子类的方法呢?
鸿蒙传说
拉莫斯之舞
有只小跳蛙
慕少森
相关分类