인터페이스를 구현하는 인터페이스와 클래스에 대한 질문이 있습니다.클래스로의 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를 포함하여 사용하고 있습니다. 죄송합니다 ** 샘플에 iMyInterface ** 구현 ** 추가 잊어 버렸습니다. – TheFrancisOne