作用
帮助实现子类特有的功能
分类
向上转型:从子到父,父类引用指向子类对象
向下转型:从父到子,父类引用转为子类对象
代码示例
动物类:包含eat()方法
public class Animal {
public void eat(){
System.out.println("动物吃东西");
}
}
猫类:包含eat()和PlayGram()两个方法,eat()是对动物类方法的重写,PlayGram()是独自的方法
//继承关系
public class Cat extends Animal {
@Override
public void eat() {
System.out.println("猫吃鱼");//方法重写
}
public void PlayGram(){
System.out.println("猫捉迷藏");
}
}
因为猫类的PlayGram()方法该类独有的,不能通过多态的方法实现,所以通过向上转型和向下转行的方法。
向上转型
通过创建Cat类的对象来实现
public class AnimalDemo {
public static void main(String[] args) {
//父类引用指向子类对象
Animal a = new Cat();
a.eat();
//向上转型
//创建Cat类的对象
Cat c =new Cat();
c.eat();
c.PlayGram();
}
}
向下转型,通过把动物类对象强转为猫类对象
public class AnimalDemo {
public static void main(String[] args) {
//父类引用指向子类对象
Animal a = new Cat();
a.eat();
//向下转型
Cat c =(Cat) a;
c.eat();
c.PlayGram();
}
}