當我嘗試創建類的實例並將其添加到我的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