问题:如何知道一个父类引用的对象本来是什么子类?
格式:对象名称 instanceof 类名称
此方法会返回一个boolean值结果,判断前面对象是不是后面类的实例化,是返回true,否返回false。
public static void main(String[] args) {
Animal animal = new Cat(); //本来是一只猫
getAnimal(animal); //调用
}
//判断参数animal是哪个子类的实例化
public static void getAnimal(Animal animal)
{
//若是一只狗,则调用狗的方法
if(animal instanceof Dog)
{
Dog dog = (Dog)animal; //向下转型
dog.eat();//输出 狗吃肉
}
//若是一只猫,则调用猫的方法
if(animal instanceof Cat)
{
Cat cat = (Cat)animal; //向下转型
cat.eat();//输出 猫吃鱼
}
}
输出结果:猫吃鱼
觉得不错的小伙伴请点赞、评论或收藏一下多支持支持博主小弟,跪安~~