package Test;
/**
* 多态的要点
* 多态是方法的多态,不是属性的多态(多态与属性无关)
* 多态的存在要有3个必要条件:继承、方法重写、父类引用指向子类对象。
* 父类引用指向子类对象后,用该父类引用笤俑子类重写的方法,此时多态就出现了。
* 对象的强制转型处理ClassCastException
* @author pmc
*
*/
public class Polymorphism {
public static void main(String[] args){
Animal an=new Dog();//自动向上转型
an.shout();
an=new Animal();
an.shout();
an=new Cat();
an.shout();
Cat an2=(Cat)an;//强制向下转型
an2.shout();
an2.eat();
((Cat) an).eat();
// ((Dog)an).eat();//异常java.lang.ClassCastException
}
}
class Animal{
public void shout(){
System.out.println("动物叫");
}
}
class Dog extends Animal{
public void shout(){
System.out.println("狗子叫");
}
public void eat(){
System.out.println("吃饭");
}
}
class Cat extends Animal{
public void shout(){
System.out.println("猫子叫");
}
public void eat(){
System.out.println("吃饭");
}
}
Java_82_多态(polymorphism)
猜你喜欢
转载自blog.csdn.net/pmcasp/article/details/104971337
今日推荐
周排行