假設我有一個抽象類Menu
和三個小類MexicanMenu
,FinnishMenu
,JapaneseMenu
。靜態ArrayList有多昂貴?
更昂貴的是爲每種菜單一個靜態的ArrayList<String> menu
還是一個非靜態的?
使用靜態菜單反對使用「實例」方法有什麼優缺點? OO設計說,我認爲兩者都符合此目的。
假設我有一個抽象類Menu
和三個小類MexicanMenu
,FinnishMenu
,JapaneseMenu
。靜態ArrayList有多昂貴?
更昂貴的是爲每種菜單一個靜態的ArrayList<String> menu
還是一個非靜態的?
使用靜態菜單反對使用「實例」方法有什麼優缺點? OO設計說,我認爲兩者都符合此目的。
較貴具有各種菜單的靜態
的也就是方法重載的基本需要。我不知道你爲什麼要去static
只要你不關心線程安全性,沒有副作用/昂貴的內存泄漏。
我建議你將它們綁定到instances
。
是的,你對壓倒一切是正確的,這是一個壞榜樣。我想知道多少昂貴被認爲是一個靜態數組列表 –
@IndeedItIs忘記昂貴,這與內存幾乎可以忽略不計。如果你的設計要求只是去爲它。 –
您可以在抽象類中聲明非靜態列表並將其繼承到所有的子類。 如果你想爲每個子類單獨拷貝,那麼使用非靜態列表,否則使用靜態列表。
Java是開源的,免費的,所以它是不是在所有EXPENSIVE:P
'static'不是OO,因爲它生活之外的對象。 – zapl
感謝您的反饋@zapl然而沒有類我不會看到任何可能的對象..所以.. –
靜態使用更少的內存(如果您有多個類類型的對象),因爲每個類只有一個。 – Dukeling