下列代码的运行结果是:( )
public class Animal {
public String noise() {return "peep"; }
public static void main(String[] args) {
Cat cat =null;
Animal animal = new Dog();
if (animal instanceof Cat) {
cat = (Cat) animal;
System.out.println(cat.noise());
} else {
System.out.println("animal is not Cat's instance");
}
}
}
class Dog extends Animal {
public String noise() { return "bark"; }
}
class Cat extends Animal {
public String noise() {return "meow"; }
}peep
bark
meow
animal is not Cat's instance
实例类型不会变化,引用变量类型可以变化,instanceof指代的实例的类型,而不是引用的类型