我有一个关于接口和类实现接口的问题。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