자바 다형은, 문제를 야기 변수의 타입이 실제로 참조 목적을 확인하는 방법이다. 여기에서 우리는 instanceof 연산자와 자바를 돕기 위해 소개합니다.
instanceof 연산자, 변수의 결정에 참조 된 오브젝트의 실제 형태는, 상기 참조 된 오브젝트 유형의 유형이 변경되는 것은 아니다.
다음 코드를 살펴 보자 :
공용 클래스 사람 { }
공개 수업 교사는 확장 {사람들이 }
공공 클래스 대통령은 확장 {교사 }
공공 최종 클래스 데모 { 공공 정적 무효 메인 (문자열 []에 args) { 사람들 OBJ = 새로운 새로운 사람들 (); IF (OBJ 의 instanceof 객체) { 에서 System.out.println ( "나는 물체입니다" ); } IF OBJ ( instanceof를 사람들) { 에서 System.out.println ( "나는 사람이다" ); } IF (OBJ instanceof를 교사) { 에서 System.out.println ( "나는 선생님이야" ); } IF (OBJinstanceof를 대통령) {이다 에서 System.out.println ( "나는 대통령이다" ) } 에서 System.out.println ( ----------------------- " ---------------------- " ); OBJ = 새 새 교사 (); IF (obj를 의 instanceof ) 객체 { 에서 System.out.println ( "나는 물체입니다 " ); } IF (OBJ instanceof를 {) 명 에서 System.out.println ( "나는 사람이다 " ); } IF (OBJ instanceof를 교사) { 에서 System.out.println ("나는 선생님이야" ) } 경우 (OBJ instanceof를 대통령은 {) 에서 System.out.println ( "나는 교장 해요" ); } } }
결과 :
볼 수 있듯이 변수는 클래스 나 서브 클래스의 참조 현재 인스턴스 인 경우는 instanceof를, 그렇지 않으면 false를 반환 true를 돌려줍니다.