定义:某一类事物的多种存在形态,就是一个对象对应着不同类型 例如,猫这个对象对应的类型是猫类型 猫 x=new 猫(); 同时猫也是动物中的一种,也可以把猫称为动物。 动物 y=new 猫(); 动物是猫和狗具体事物中抽取出来的父类型。 父类型引用指向了子类对象。
面向对象(多态-转型) public class Test { public static void main(String[] args) { //自动类型提升,猫对象提升了动物类型,就不能使用猫的特有功能了。(向上转型) Animal a=new Cat(); Cat c=(Cat)a;//向下转型,转型之后就可以调用特有功能了。 } } class Animal {
} class Cat extends Animal {
} 注意:对于转型,自始至终都是子类对象在做类型的变化。 如果两者之间不具备转换关系,会出现类型转换异常。ClassCastException
|