특정 SomeInterface
이 있고이 인터페이스를 구현하는 클래스가 여러 개 있습니다. 모든 클래스에는 인터페이스에 의해 정의되지 않은 someMethod()
이 있습니다.다운 캐스트 클래스의 메서드 호출
변수 someVariable
()을 가지고 있는데 someMethod()
(으)로 전화하고 싶습니다. 그것을 할 수있는 한 가지 방법은 SomeInterface
SomeInterface
을 구현하는 SomeClass
에 다운 캐스트와 같은 그것에 someMethod
를 호출하는 것입니다 :
((SomeClass) someVariable).someMethod()
을하지만 SomeInterface
를 구현하는 클래스 중 하나가 someVariable
에 저장되어있는 모른다. 기본 클래스에서 구현되었지만 코딩 할 인터페이스에 의해 정의되지 않은 메서드를 호출하는 대체 방법은 무엇입니까?
당신을 도울 수있는 포인터가있다 : 만약 (SomeClass instanceof를 OBJ) { ((SomeClass) someVariable) .someMethod() } 다른 경우 (SomeClass2 instanceof를 obj를) {.... –