2016-03-11 16 views

回答

1

只需經過以下幾點的執行層次。

  1. 確定最左邊的方法調用將返回什麼(我們稱之爲x)。
  2. 使用x作爲調用第二個(從左邊)方法的對象。如果 只有兩個鏈接的方法,則第二個方法調用的結果是表達式的結果 。
  3. 如果有第三種方法,則使用第二種方法調用的結果 來調用第三種方法。

按照您的說法,執行分級情況如下:

  1. 首先,方法1()這是最左邊的方法將被調用。
  2. 假設method1()返回一個對象「meth」,然後第二個方法(從左邊)method2()將被稱爲meth。 method2()
  3. 最後,從返回的對象method2()將用於調用method3()

希望它澄清你的疑問。

+0

謝謝你的簡要解釋 –

0

與此相同:

result1 = method1(); 
result2 = result1.method2(); 
result = result2.method3(); 
1

我解釋與小例子上面的代碼的層次結構。

result = method1().method2().method3(); 

實施例:

getYear().toString().trim(); //like method1().method2().method3() 

首先將執行GET年()返回一個整數:

2016.toString().trim(); 

謝勝利將執行的toString()整數類的方法,該方法 返回字符串:

"2016".trim(); 

最後修剪字符串類的trim()方法的字符串。