多态的弊端

前期定义的内容不能使用(调用)后期子类的特有内容
父类共享的方法可以调用,但是不能用父类去调用子类的特有内容
-----------------------

dog类

package Polymorphic;

public class dog extends Animal{

@Override
public void eat() {
System.out.println("吃骨头");

}
public void hj(){
System.out.println("汪汪");
}

}
---------------------

父类

package Polymorphic;

public abstract class Animal {
public abstract void eat();

}
----------------
测试类

package Polymorphic;

public class TestPolymorphic {

public static void main(String[] args) {
cat c = new cat();
cat c2 = new cat();
c.eat();
Animal d= new dog();
d.eat();
//这里就是弊端,不能用子类引用去调用子类特有的方法,
//调用子类特有的方法还是需要子类的引用去调用
d.hj();

}
public void eat(Animal a){
a.eat();
}

}

猜你喜欢

转载自www.cnblogs.com/liyunchuan/p/10663783.html