看板 java 關於我們 聯絡資訊
各位好 請問各位一個問題 我宣告了一個class A public class A { } 然後又宣一個class B 繼承 A public class B extends A { } 因為還有其他class也繼承A,所以我在其他class宣告的時候這樣寫 public class Main { //用A來宣告物件,當new時才決定物件型態 private A myObject; public function() { myObject = new B(); 這個時候問題來了...... 假如我在Class B中寫了一個public String myString = "123"; 可是myObject.myString會錯誤,好像找不到myString的樣子 我一定要把myString寫在Class A裡面 才有辦法使用myObject.myString 因為我還有其他Class繼承Class A,但每個繼承的Class又希望有自己的物件 然後我想要宣告一個全域變數,在我想要的地方在把它宣告成我要的物件 我有辦法在各自繼承Class A的Class內寫自己的物件並且使用這種宣告方式來 存取各自的物件嗎? 或者有其他的方法可以達成我想要的需求?感謝各位大大解答了... } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.194.97.175
andymai:看看"深入淺出-設計模式"的第一章~應該就會有答案了... 05/19 12:29
PsMonkey:==.=== 我覺得這樣子根本不能湊在一個家族裡耶? 05/19 12:55
andymai:請原PO看那章~不是要湊耶~是要理清觀念~光是全域變數要在 05/19 15:56
andymai:不同的繼承類別裡宣告成各自的物件就是一件很奇怪的事... 05/19 15:58
cha122977:程式認為那是A(雖然實際上是B) A沒有的方法自然找不到 05/19 19:53
henry4343:謝謝提示,我在去仔細看看 05/19 20:00
swpoker:宣告 跟 實際 是不一樣的~你把這兩個搞混了 05/20 13:00