2013-12-20 50 views
2

我已經開始學習「開始Android應用程序開發」。我在下面看到了這個代碼。
我對Java很新,有人可以解釋一下作者如何使用點運算符調用不同的方法,而不必使用引用變量和類名。
作者指的是java中的什麼概念?瞭解Java中的概念

case 0: 
return new AlertDialog.Builder(this) 
.setIcon(R.drawable.icon) 
.setTitle(「This is a dialog with some simple text...」) 
.setPositiveButton(「OK」, new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int whichButton) { 
    Toast.makeText(getBaseContext(), 
    「OK clicked!」, Toast.LENGTH_SHORT).show(); 
... 

回答

6

這就是所謂的Method chaining的方法。基本上每個方法調用都會返回對象本身,因此您可以調用返回值的另一個方法。

實現方法鏈接的API通常被稱爲提供fluent interface

0

這是 - >new AlertDialog.Builder(this)這裏

這相當於調用這個函數

setIcon(R.drawable.icon) 
setTitle(「This is a dialog with some simple text...」) 
setPositiveButton() 

方法Chaning

方法鏈是調用多個方法調用的技術。它可以使代碼更具可讀性並幫助提供流暢的界面。方法鏈有時被過度使用,並且會使調試變得困難,因此術語「火車殘骸」。設置對象的屬性時,我發現方法鏈最有用。

示例: 這是方法chaning。

person.setName("Peter").setAge(21).introduce(); 

這不是chaning

person.setName("Peter"); 
person.setAge(21); 
person.introduce(); 
0

它被視爲一行代碼,直到所有括號關閉後的最後一個分號。它只是爲了便於閱讀而分開放置,否則它會是一長串代碼。