我可以使此代碼工作,沒有對象作爲抽象方法的輸入參數。例如,如果我將printInformation()
方法的輸入參數設爲person,並將emp設爲printInformation(int x)
,則該方法有效。與Java對象作爲輸入參數抽象方法
我使輸入參數作爲printInformation()
方法的對象,如下所示的瞬間,它引發錯誤
EMP不是抽象的,不重寫抽象方法在人類EMP printInformation(人)擴展人{^
abstract class person{
abstract void printInformation(person p);
}
class emp extends person{
emp(){
System.out.println("This is a emp constructor");
}
void printInformation(emp e){
System.out.println("This is an emp");
}
}
class entity{
public static void main(String args[]){
emp employeeObject = new emp();
employeeObject.printInformation(employeeObject);
}
}
這是奇怪的是'person.printInformation'需要另一個'person'。它不應該打印正在訪問的'person'實例的信息嗎?此外,Java約定是以大寫字母開始類名,例如'人'和'員工'。 – 2012-07-20 02:24:02
我的更多是一個概念問題......我仍然是一個新手。爲什麼我可以重寫,如果輸入參數不是一個對象類型?當它是一個像int這樣的基本類型時,我可以覆蓋它... – user547453 2012-07-20 02:27:31