Java學習第七天
阿新 • • 發佈:2021-07-10
物件陣列的記憶體解析、匿名物件、方法的過載、方法引數的值傳遞機制
一、今天學了什麼
1.物件陣列的記憶體解析:
引用型別的變數,只可能儲存兩類值:null或地址值(含變數的型別)。
2.匿名物件:
class Phone() { double price; public void sendEmail() { System.out.println("傳送郵件"); } public void playGame() { System.out.println("玩遊戲"); }
public void showPrice()
{
System.out.println("手機價格為" + price);
} }new Phone().sendEmail(); new Phone().palyGame();//兩者都為匿名物件,但是這兩個Phone物件不是相同的物件
//從下面的例子中看得更為明顯
new Phone().price = 6999;
new Phone().showPrice();//0.0
對匿名物件使用的理解:
我們建立的物件,沒有顯式地賦值給一個變數名。
匿名物件的特徵:匿名物件只能呼叫一次。
匿名物件只能呼叫一次的原因:
(i)建立的時候只在jvm的堆空間新建了物件,並進行初始化,但棧空間沒有一個變數名指向匿名物件。
(ii)jvm垃圾回收機制在發現堆空間的物件,沒有一個引用指向他,就給回收記憶體了。
匿名物件的使用:在傳參或者輸出時直接new生成一個匿名物件作為引數。
3.方法的過載:
(1)過載,是指引數個數或者引數型別不同的同名方法(兩同一不同)。
即同一個類、相同方法名;引數列表不同:引數個數或引數型別不同。
(2)注意:方法是否過載與方法的許可權修飾符、返回值型別、形參變數名、方法體都沒有關係。
(3)在通過物件呼叫方法時,如何確定某一個指定的方法:
方法名--->引數列表
4.方法引數的值傳遞機制:
形參是基本資料型別:將實參的資料值傳遞給形參
形參是引用資料型別:將實參的地址值傳遞給形參
二、明天干什麼:
繼續學習封裝性、和構造器的內容