1. 程式人生 > 其它 >Java學習第七天

Java學習第七天

物件陣列的記憶體解析、匿名物件、方法的過載、方法引數的值傳遞機制

一、今天學了什麼

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.方法引數的值傳遞機制:

形參是基本資料型別:將實參的資料值傳遞給形參

形參是引用資料型別:將實參的地址值傳遞給形參

二、明天干什麼:

繼續學習封裝性、和構造器的內容