多態的好處:提高了代碼的擴展性,前期定義的代碼可以使用后期的內容,
就是后期有父類或接口 被子類繼承,實現后那么 只要方法參數類型是父類的,都可以使用
-------------
定義一個父類:Animal
package Polymorphic;
public abstract class Animal {
public abstract void eat();
}
---------------------------------
定義一個狗繼承Animal :dog
package Polymorphic;
public class dog extends Animal{
@Override
public void eat() {
System.out.println("吃骨頭");
}
public void hj(){
System.out.println("汪汪");
}
}
---------------------
定義一個貓繼承Animal :cat
package Polymorphic;
public class cat extends Animal{
@Override
public void eat() {
System.out.println("吃魚");
}
public void hj(){
System.out.println("喵喵");
}
}
-----------
定義一個雞繼承Animal :chook
package Polymorphic;
public class chook extends Animal{
@Override
public void eat() {
System.out.println("吃玉米粒");
}
public void hj(){
System.out.println("咯咯噠");
}
}
--------------------
測試多態
package Polymorphic;
public class TestPolymorphic {
public static void main(String[] args) {
//常見
cat c = new cat();
c.eat();
//多態 父類引用指向子類對象
Animal d= new dog();
d.eat();
}
//只要是繼承Animal 的動物都可以使用這個方法,並執行,無論是預先有的還是后續新增的
public void eat(Animal a){
a.eat();
}
}