我有一個關於接口和類實現接口的問題。Java類接口類
這是我的代碼:
interface iMyInterface {
public iMethod1();
}
public class cMyClass implements iMyInterface {
public iMethod1() {
// some code
}
protected iMethod2() {
// some code
}
}
我想創建,因爲這iMyInterface
一個實例:
iMyInterface i = new cMyClass();
i.iMethod1();
這沒關係,但我怎麼能叫iMethod2()
從我的接口實例?這是工作和安全:
((cMyClass)i).iMethod2();
感謝您的幫助。
我認爲,如果他要演員,他應該用'instanceof'覈實劇組,以確保安全。 –
@ S.L.Barth:無論如何,除非所需的失敗模式是ClassCastException,當然,在這種情況下,無條件轉換就可以。 –
@Jon Skeet謝謝,我現在在界面中使用它,包括Method2。對不起,我忘了在我的示例中添加** implements iMyInterface **。 – TheFrancisOne