java 父类引用子类对象时编译器报错
安诺知秋 2018-04-24 08:56:05 package monsterTestDrive;
public class MonsterTestDrive {
public static void main(String[] args){
final Monster[] ma = new Monster[3];
ma[0] = new Vampire();
ma[1] = new Dragon();
ma[3] = new Monster();
//无法通过编译,对这三个子类对象的引用报错:没有任何MonsterTestDrive的外层实例可访问,求大神帮忙分析下,小白感激不尽。
for(Monster m : ma)
m.frighten();
}
class Monster{
boolean frighten() {
System.out.println("arrgh");
return true;
}
}
class Vampire extends Monster{
boolean frighten() {
System.out.println("a bite?");
return true;
}
}
class Dragon extends Monster{
boolean frighten() {
System.out.println("breath fire");
return true;
}
}
}