1、多態(tài)是方法的多態(tài)实抡,不是屬性的多態(tài)(與屬性無關(guān))欠母。
2欢策、多態(tài)的存在有3個(gè)必要條件:繼承、方法重寫赏淌、父類引用指向子類對(duì)象踩寇。
3、父類引用指向子類對(duì)象后六水,用該父類引用調(diào)用子類重寫的方法俺孙,此時(shí)多態(tài)就出現(xiàn)了。
***父類引用指向子類對(duì)象掷贾,這個(gè)過程稱為向上轉(zhuǎn)型(子類可以自動(dòng)轉(zhuǎn)化成父類)睛榄,屬于自動(dòng)類型轉(zhuǎn)換,向上轉(zhuǎn)型的父類引用變量只能調(diào)用其編譯類型的方法想帅,不能調(diào)用它運(yùn)行時(shí)類型的方法场靴,這時(shí)我們就需要進(jìn)行類型轉(zhuǎn)換,稱為向下轉(zhuǎn)型博脑。
public class TestPloym {
public static void main(String[] args) {
Animal animal =new Animal();
/*? animal.shout();
Animal dog = new Dog();
dog.shout();
Cat cat = new Cat();
cat.shout();*/
? ? ? ? animalCry(animal);
Dog dog =new Dog();
animalCry(dog);
Cat cat =new Cat();
animalCry(cat);
}
static void animalCry(Animal animal){
animal.shout();
}
}
class Animal{
public void shout(){
System.out.println("叫一聲");
}
}
class Dogextends Animal{
public void shout(){
System.out.println("汪汪汪");
}
}
class Catextends Animal{
public void shout(){
System.out.println("喵喵喵");
}
}