对象多态性
public class Animal {
public void say(){
System.out.println("我是动物");
}
}
public class Cat extends Animal {
public void say(){
System.out.println("我是cat");
}
}
public class Dog extends Animal{
public void say(){
System.out.println("我是dog");
}
}
public class Test {
public static void main(String[] args) {
/**
* 父类引用指向子类Dog类的具体实现
* 向上转型:子类对象转换为父类对象
* **此处dog对象既属于Animal类,也属于Dog类**
*/
Animal animal = new Dog();
animal.say();
//animal 对象的指向可随时改变
animal = new Cat();
animal.say();
}
}
对象转型
向上转型:子类对象-》父类对象 安全
向下转型:父类对象-》子类 不安全
Dog dog = (Dog) animal;
Cat cat= (Cat) animal;