我想改變ArrayList類的預定義方法。假設我們將任何元素添加到數組列表中。同時系統將打印「數值列入數組列表」。是否有可能對ArrayList類的add()進行更改。如何改變java類的predifine方法
0
A
回答
1
public class foo extends ArrayList<Object> {
@Override
public boolean add(Object e) {
// print your stuff here
return super.add(e);
}
}
0
您是否在問關於方法overriding
?
public class MyArrayLIst extends ArrayList<ClassObj>{
@Override
public void add(ClassObj obj) {
//sysout
return super.add(obj);
}
}
0
使你自己重寫的add方法調用ArrayList的add方法並打印你想要的。必須通過繼承課程來完成。
2
在這種情況下,構圖通常優於繼承(請參閱http://en.wikipedia.org/wiki/Composition_over_inheritance)。例如,如果遵循擴展ArrayList
類的方法,是否還希望在調用add(int index, E element)
時調用邏輯。那麼addAll(Collection<? extends E> c)
。如果在後續版本的Java中添加新的添加方法會怎樣?
相反,考慮實現自己的List
。在內部,它會將操作委託給ArrayList
,但您不得不考慮如何處理每種類型的添加。
相關問題
- 1. 如何改變的方法
- 2. 反序列化的Java類改變原有類的方法
- 3. 如何改變方法is_valid()
- 4. 如何調用基類方法不改變所有派生類
- 5. Java - 如何在一個類的幾種方法中使用改變/修改的變量?
- 6. 只改變一個類的方法從java到kotlin
- 7. 它的方法改變類屬性
- 8. 如何從靜態類引用main方法中的變量? (java)
- 9. 如何處理Java方法中變量的類型泛型?
- 10. 如何訪問Java中不同類中方法的變量?
- 11. 如何在java中使用變量從類裏面的方法
- 12. 如何更改此類以創建不可變的方法?
- 13. 如何改變類
- 14. Java。如何更改方法簽名
- 15. 關於java混淆器改變方法/類/變量名稱的建議
- 16. 其他類中的java調用方法無法識別已更改的變量
- 17. 在方法內改變類成員?
- 18. Python類方法改變自我
- 19. AssertListEqual不改變類__eq__方法
- 20. 從方法內部改變自我類?
- 21. Ruby類和方法更改變量
- 22. 如何從方法更改變量
- 23. 如何使方法改變根視圖
- 24. 改變後如何調用方法DependencyProperty
- 25. 如何在更改類變量時運行方法?
- 26. 如何在eclipse中改變ctrl/command + hover變量/方法/類的顏色
- 27. 如何將常用方法修改爲類的方法?
- 28. 如何從java類中分離方法
- 29. 如何在類中定義java方法?
- 30. Java - 如何獲取類調用方法
我同意。我會建議使用包裝設計模式。 – JRR 2013-04-24 05:34:29