0
A
回答
3
您可以超載二傳手在子類:
@Override
public void setProperty(String firstArg) {
...
}
public void setProperty(Integer value) {
...
}
0
你會像做到這一點沒有泛型,但我認爲你需要他們:
public abstract class MyClass<T> {
public abstract void setX(T t);
}
public class MySubClass extends MyClass<String> {
public void setX(String s) {
}
}
public class MySpecialSubClass extends MyClass<Integer> {
public void setX(Integer s) {
}
}
+0
那麼以前的答案是不正確的? – user2775902
+0
不確定 - 這取決於。另一個答案是,如果你有一個聲明爲抽象類的變量,編譯器就不會知道它是特殊子類的一個實例,所以重載的方法將不可訪問。你將不得不聲明變量作爲特殊子類的「看到」重載的方法。請注意,這個答案並不好,因爲你仍然需要知道參數的類型,但至少你不需要知道實現類是什麼。這個答案與實現更加脫鉤,這總是一件好事。 – Bohemian
相關問題
- 1. 用不同的參數覆蓋抽象方法?
- 2. 多參數的抽象方法
- 3. Java的泛型參數抽象方法
- 4. 具有抽象類參數的抽象方法的Java抽象類
- 5. 如何解決不抽象,不覆蓋抽象方法onTabReselected
- 6. Java抽象方法參數類型
- 7. Java抽象類通用方法參數
- 8. 如何在JS中抽象出一個函數作爲參數?
- 9. 類不抽象,不會在抽象方法中覆蓋
- 10. 如何使用實現類的參數創建抽象方法
- 11. 如何調用有參數的抽象類覆蓋方法
- 12. 如何在NaCl中給出不同的實現方法
- 13. 在抽象類中使用抽象類時如何實現抽象方法
- 14. 抽象方法重寫抽象方法
- 15. 類不抽象,也不重寫java.util.timertask中的抽象方法run()
- 16. 當後代需要不同的參數列表時,我應該如何在基類中定義抽象方法?
- 17. 如何使用抽象方法測試抽象類中的方法?
- 18. 如何在數據庫中保存不同的方法參數?
- 19. 用另一個替代抽象方法,具有不同的參數
- 20. 擴展抽象類和使用方法使用不同的參數
- 21. 在方法中傳遞抽象類作爲參數
- 22. 建議從抽象類中的方法調用抽象方法
- 23. 將不同類的對象作爲參數傳遞給相同的方法
- 24. 「不能實例化抽象類......與抽象方法」的類不應該有任何抽象方法
- 25. 可調用的類給出錯誤:doPing不是抽象的,也不重寫抽象方法調用()?
- 26. C#:抽象類中的抽象和非抽象方法?
- 27. CircleObject不是抽象並且在圖不重寫抽象方法
- 28. 非抽象類不能覆蓋Comparable中的抽象方法compareTo?
- 29. 帶參數的抽象類中的測試方法
- 30. 如何在抽象方法中使用泛型EnumMap作爲參數
你的意思是「泛型「而不是」集合「? –
是的,你是對的。我很困惑,我的意思是泛型。 – user2775902