2016-06-21 4 views
-3

그래서 클래스 B와 C가 클래스 A를 확장하고 클래스 D가 클래스 C를 확장하면 Java의 instanceof 연산자를 사용하면 B instanceof C은 부모가 동일하므로 true를 반환합니까?instanceof 연산자가 형제 클래스 instance-ofs를 고려합니까?

+1

은'B'의 인스턴스는'C'의 인스턴스를 수 있을까요? **아니**. 그러나'B'는'A'의 인스턴스가 될 것입니다 ('C'처럼). –

+0

'instanceof'를'childOf'라고 생각하십시오. 'B의 자식? ' 아니, 'B childOf A'? 예. 다른 뉴스에서는,'instanceof'는 대개 불량 객체 지향 설계를 신호합니다. – 4castle

+0

질문의 형식을 잘 지정하지 않으면 투표하지 않을 것입니다. –

답변

0

아니요. "형제"입니다. 클래스 C와 B는 둘 다 A의 인스턴스이지만 서로 인스턴스가 아닙니다.

다음 테스트는 다음 거짓

A instanceof B 
A instanceof C 
C instanceof D 

자식 클래스는 부모의 인스턴스가 아닌 반대 것을 사실

B instanceof A 
C instanceof A 
D instanceof C 

주입니다. 이는 부모가 자녀가 구현 한 새로운 행동이 무엇인지 모르기 때문입니다. 그러나 자녀는 부모로부터 모든 행동을 상속받습니다. 이 스레드에서

더 많은 정보는 : Does instanceof return true if instance of a parent?

관련 문제