我有我們用來實現在C#中使用顯式實現的接口成員的場景。目前我需要在JAVA中實現相同的行爲,但不能顯式調用接口成員,因此它顯示錯誤標記實現的成員爲public。我是JAVA新手,請讓我知道如何在JAVA中實現相同的行爲。如何使用JAVA明確實現接口成員?
C#代碼:
public class WF_33470: IData
{
private string m_data = string.Empty;
string IData.Element
{
get
{
return m_data;
}
}
string IData.Data()
{
get
{
return "Hello World";
}
{
}
internal interface IData
{
string Element
{
get;
}
string Data();
}
Java代碼:
public class WF_33470 implements IData
{
private String m_data = "";
String getElement()throws Exception{//throws error to change the modifier to be public, but i need to achieve explicit implementation here
return m_data;
}
String Data()throws Exception{//throws error to change the modifier to be public, but i need to achieve explicit implementation here
return "Hello World";
}
}
interface IData
{
String getElement()throws Exception;
String Data()throws Exception;
}
被自動定義爲'public',並且當繼承你需要將它們定義爲public時,你不能降低可見性,同時實現該接口,並且('public String Data()throws Exception {...}') – SomeJavaGuy
你的意思是「明確實施」嗎? @KevinEsche是對的,接口總是公開的([相關QA](http:// stackoverflow。COM /問題/ 9614708 /爲什麼,應該-WE-聲明接口的方法,如公共))。 –
有沒有可能降低繼承的成員的可見性? – Karthikk