当我尝试创建类的实例并将其添加到我的ArrayList时,我无法调用子类中定义的方法。Java调用子类方法
我该如何做这项工作?
List类:
import java.util.*;
public class List {
private ArrayList<Person> persons;
public List(){
persons = new ArrayList<Person>();
}
public void addAssistant(){
Person person = new Assistant();
persons.add(person);
if(person instanceof Assistant){
person.assist();
}
}
}
Person类:
public class Person {
public Person(){}
}
助理类:
public class Assistant extends Person {
public Assistant(){}
public void assist(){
System.out.println("I am assisting!");
}
}
Ç ompiler: line:person.assist();在List类的addAssistant()方法中。
编译错误: 编译器找不到符号 - 方法assist()。
我不会把一个类列表,我会用接口 – NimChimpsky
不直接关系到你的问题:如果一个助手,一个人,你可能要考虑,或者如果它是一个人的角色。 –
我可以,但它是一堆代码,高于一个简单的版本,以保持易读。它在行中出错:person.assist();在List类的addAssistant()方法中。编译器找不到符号 - 方法assist()。 – rofavadeka