java中的實例化


java中的new用於實例化一個對象

T1 a= new T1();
T2 b= new T1();

區別:

 

 

問題1:不是實例化一個a,是實例化一個T1
T1 的一個 對象的引用 a  指向了堆空間里的一個新T1對象

------------------------------------------

new是java里面的關鍵字,一般用於創建一個新的對象。

T1 a=new T1():表示創建一個新的T1對象

T2 b=new T1():這種多用在接口類與實現類之間 或者子類與父類之間

在接口類與實現類之間: T2為接口類,T1為T2的實現類

例如:Collection,list,set,map都為接口類,都不能實例化。繼承自他們的ArrayList,Vector,HashTable,HashMap,stack都是具體類,可以實例化

Map<String, String> map = new HashMap<String, String>

在子類與父類之間:T2為父類,T1為T2的實現類

 

這些用法都為java中多態性的一個表現

JAVA中都是用引用來操作對象,a是引用,new T1()是對象,T1 a = new T1()這段代碼,則是將他們連接起來,這樣就可以通過a來操作new T1()這個對象;

 

 

 

 

 

 

java的實例化過程

你要買一個蘋果,售貨員給你一個蘋果;

你要買一蘋果, 相當於 --------- Apple apple = null;
這個時候你並沒有拿到蘋果---------java沒有給你申請內存,這個時候apple還什么內容都沒有,只是告訴別人apple是個蘋果

售貨員給你個蘋果 ----------apple = new Apple();
這個時候你拿到了蘋果 ---------- java給你開辟了空間,並且apple可以使用蘋果的特性,比如:apple.getPrice(),apple.getTaste()

這就是apple的實例化


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM