java中的new用於實例化一個對象
T1 a= new T1(); T2 b= new 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的實例化過程
你要買一個蘋果,售貨員給你一個蘋果;
你要買一蘋果, 相當於 --------- Apple apple = null;
這個時候你並沒有拿到蘋果---------java沒有給你申請內存,這個時候apple還什么內容都沒有,只是告訴別人apple是個蘋果
售貨員給你個蘋果 ----------apple = new Apple();
這個時候你拿到了蘋果 ---------- java給你開辟了空間,並且apple可以使用蘋果的特性,比如:apple.getPrice(),apple.getTaste()
這就是apple的實例化