伊莉討論區
標題:
有關JAVA在NEW時候的觀念
[打印本頁]
作者:
b2581167
時間:
2018-5-18 03:01 PM
標題:
有關JAVA在NEW時候的觀念
提示:
作者被禁止或刪除 內容自動屏蔽
作者:
kwj
時間:
2018-5-19 10:10 AM
本帖最後由 kwj 於 2018-5-19 11:33 AM 編輯
A2 text1; 這樣的宣告,只是宣告有一個變數
但是這個變數還沒有真正地產生 instance,要透過 new 的指令來幫他在記憶體中產生 instance。
所以雖然 text1 是可以呼叫 AAA(),但因為你還沒真正地建立這個物件,所以想要呼叫自然會出現錯誤。
A2 text1 = new A2();
text1.AAA();
A text2 = new A2();
text2.AAA();
複製代碼
作者:
johnwanz
時間:
2018-5-22 09:37 AM
你要從介面的角度去想.
A text2 = new A2();
有一個變數是A型別, A是一個介面, 所以text2只能使用一個函式 AAA();
text2, 實際的變數本身, 是A2型別. 所以, 其包含了A2, 也就有了B, 就實作了A.
只是因為text2的宣告為A, 所以使用text2時, 要以A來看. 而A只看得到AAA().
text1的問題就只是尚未產生Instance. new一個就好了.
Java也是有指標的概念, 只是沒有定義指標型別出來, 用法還是有.
作者:
mnbhjk2
時間:
2018-5-31 08:09 AM
Java中的New是為一個Class建立一個Instance跟C++中建立一個Instance一樣範例如下:
Java:
Aclass a = new Aclass();
C++:
Aclass a();
在Java中嚴格來說沒有指標,要說指標的話就是宣告變數
Aclass a = new Aclass();
Aclass b = null;
a = b;
a.hashCode() == b.hashCode()
.hashCode()是extends from Object中預設的func,裡面產生的文字基本上是記憶體位置,但不是真的記憶體位置因為被轉碼過了
歡迎光臨 伊莉討論區 (http://garyya16.eyny.com/)
Powered by Discuz!