我有一個ICoreClient
接口和AClient
和BClient
類實現這一點。java的方法可以根據條件返回值嗎?
ICoreClient
向用戶公開。
我需要在ICoreClient
界面添加一個新方法。所以,它需要在兩個客戶端實施。我不能使這個方法是通用的,因爲它具有完全不同的簽名但具有相似的功能。
我有2個接口xx
和yy
ClientA
實現xx
和ClientB
工具yy
所以,我決定加入ICoreClient
新testMethod
,將提供我根據客戶xx
或yy
實例。
我想根據條件從單個方法返回這些接口的實例。
在ClientA
:
public xx testMethod(){
return instanceof xx;
}
在ClientB
:
public yy testMethod(){
return instanceof yy;
}
我應該在ICoreClient
接口寫?
public zz testMethod()
我試圖把一個虛擬接口zz
(作爲一個共同的超類型)都xx
和yy
正在實現這一點。但仍然無法在其各自的客戶端公開xx
和yy
的方法,因爲它最終在zz
中得到了詳細說明。
這種場景有沒有已知的方法?
編輯:如果我使返回類型Object
,這些接口的方法不公開。雖然,對象包含xx
或yy
實例,
用戶仍然需要將它轉換爲(xx
或yy
如何將用戶知道?)使用的接口中的方法。我想揭露ClientX
的方法而不必投到ClientA
或ClientB
...
*我要回這些接口*實例 - 你的意思是它擴展這個接口*類的實例* 對? – TheLostMind
你想要做的事對我來說似乎很奇怪。我確信有一個更好的解決方案在這一個... – glglgl
什麼是'return instanceof xx'應該做的?這看起來不像有效的語法。 – coredump