//Pet 父类
class Pet{
public void toHospital(){
System.out.println("宠物看病");
}
}
//Dog 子类继承父类
class Dog extends Pet{
public void toHospital(){
System.out.println("狗狗看病");
}
}
//Birad 子类继承Pet父类
class Birad extendsPet{
public void toHospital(){
System.out.println("小鸟看病");
}
}
//以上为Pet和其子类代码,以下是调用代码
public class Test {
public static void main(String[] args){
Dog dog = new Dog();
dog.toHospital();//狗狗看病
Bird bird = new Bird ();
bird.toHospital();//鸟看病
}
}
输出结果:
狗狗看病
鸟看病
下面用多态的形式进行修改:
public class Test{
public static void main(String[] args){
Pet pet;
pet = new Dog();
pet.toHospital();//狗狗看病
pet = new Bird();
pet.toHospial();//鸟看病
<父类型> <引用变量名> = new <子类型>();
1
例如之前的例子中
//Pet为父类 Dog为子类
Pet pet = new Dog();//子类到父类的转换
这就是向上转型。
向下转型:
将一个指向子类对象的父类引用赋给一个子类的引用,即将父类类型转换为子类类型,称为向下转型。类似于 int num = (int)10.1;
语法格式: