今天在看Android的初學特訓班訊息顯示那一章節,覺得這本書在匿名物件解釋的沒有很好,書上解釋匿名物件有種輕鬆寫法連續執行多個方法,EXAMPLE: new 類別名稱.方法一( ).方法二( ).方法三( ).......;

自行建立物件使用

我在JAVA實際上測試有沒有這方法,結果是如下圖結果:

匿名物件2.png

StringBuilder的方法append( )連續執行多個方法

如上明顯有錯誤,但我又想到有個跟書上很類似寫法,就是StringBuilder的方法append( ),也可以使用物件名稱.方法一( ).方法二( ).方法三( ).......;,如下圖

APPEND例子.jpg

後來看了一下StringBuilder的append( )方法,原來她會回傳一個StringBuilder物件,所以我們才可以一直 .append( )接下去加字串,意思就是如上圖b.append("HI")回傳一個StringBuilder物件,所以接下來在.append("JAVA")就完全沒有問題,在第一張圖會錯的原因就是我在呼叫第一個方法之後,沒有再有回傳值,所以再點第二方法c( )時就發生錯誤,c( )沒有物件參考

AlertDialog.Builder對話方塊

書上寫到我們在寫AlertDialog彈跳對話方塊,可以使用匿名物件執行多個方法的使用,如下圖程式碼

new AlertDialog.Builder(MainActivity.this)
               .setTitle("確認視窗:)
               .setIcon(R.drawable.ic1)
               .setMessage("確定結束應用程式")
               .show();

就是產生彈跳視窗供使用者點選,這可以使用同一物件執行多個方法的原因是setTitle( ),setIcon( ),setMessage( )都會回傳一個AlertDialog.Builder的物件,供我們更方便使用,不用在每個方法都要一個物件實體參考,我在Android的官網查到的API如下圖供大家參考,今天又學到了一課。

1527255516595.jpg

Builder是一個AlertDialog的內部靜態類別,並且繼承java.lang.Object

1527255297027.jpg

setTitle是一個方法,注意Return的那欄

1527255374921.jpg

 

1527255392525.jpg

 

 

arrow
arrow
    文章標籤
    JAVA 匿名物件
    全站熱搜

    KV 發表在 痞客邦 留言(3) 人氣()