2017-06-06 17 views
-2

我試圖使一些 而不必做如何在單個語句中鏈接多個Java方法調用?

MyClass myclass = new MyClass(); 

myclass.params(url,body); 
myclass.request(); 
myclass.response(); 

調用該類

我希望它像

MyClass myclass = new MyClass(); 

myclass.params(url,body).request().response(); 

裏面的功能,如果這是連的可能。

+2

是,每種方法只是必須返回'this'爲'MyClass的參數(...){...返回此;}'你可以鏈的電話。但最終這可能會讓你的代碼更難閱讀。 – SomeJavaGuy

+0

第一種方法有什麼問題? – Ezio

+0

如果'PARAMS(URL,身體)'返回的'MyClass'對象則可以調用'請求()'和一樣的,如果'請求()'返回'Myclass'對象然後可以調用響應'()' 。 –

回答

3

這是一個完全有效的問題,是的:這是可能的。

類型的API風格被稱爲流利接口。從wikipedia

說一口流利的接口通常採用的方法級聯(具體方法鏈接)中繼的後續調用

要實現此爲您的使用案例的指令背景下實施,只是聲明你的方法是這樣的:

public MyClass params(String url, String body) { 
    // your code here 
    return this; 
} 

的而不是:

public void params(String url, String body) { 
    // your code here 
} 
相關問題