이 기사는 주로 Java의 인스턴스와 클래스의 동등성을 다음과 같이 연구합니다.
Java의 운영자 인스턴스는 객체가 런타임시 특정 클래스의 인스턴스인지를 나타내는 데 사용됩니다. 인스턴스는 객체가 부울 값을 반환 하여이 특정 클래스의 인스턴스인지 하위 클래스인지를 나타냅니다.
예 1 (인스턴스)
인터페이스 사람
공개 인터페이스 사람 {public void eat ();}사람들 수업을 구현하십시오
공공 계급 사람들은 사람을 구현합니다 {private int a = 0; @override public void eat () {System.out.println ( "======="+a); }}서브 클래스 Xiaoming :
Public Class Xiaoming은 사람을 확장합니다 {private String name; @overridepublic void eat () {system.out.println ( "++++++++++");}}주요 기능
public static void main (String [] args) {people p = new People (); xiaoming x = 새로운 xiaoming (); System.out.println (p 인스턴스 사람); System.out.println (p 인스턴스 Xiaoming); ----- 2 System.out.println (x 인스턴스 사람); System.out.println (x 인스턴스 사람); }참고 : 위 2의 코드는 컴파일 중에 오류를보고하지 않습니다.
실행 결과 :
Truefalsettrue
예 2
package com.test.class_obj; 클래스베이스 {} 클래스 파생 된 기본 확장 {} public class familyvsexacttype {static void test (object x) {system.out.println ( "Type of Type" + x.getClass().getSimpleName());System.out.println("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- base)); System.out.println ( "x 인스턴스 파생" + (x instanceof Derived));System.out.println("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Derived.class.isInstance(x));System.out.println("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- (x.getClass (). equals (base.class)); system.out.println ( "x.getClass (). equals (devived.class))" + (x.getClass (). equals (devived.class)); System.out.println ( "*****************************************************************************************"); System.out.println ( "*********************************************************************"); {test (new base ()); test (new devived ());}}출력 내용은 다음과 같습니다.
유형의 X 테스트 Base---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- false*********************************************************************************Testing x of type Derived----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- base.class falsesex.getClass () == devived.class trueex.getClass (). equals (base.class)) falsesex.getClass (). equals (devived.class) true********************************************************************************************************************************************************************************************************************************* Process finished with 종료 코드 0
위의 테스트를 통해 다음과 같은 결론을 도출 할 수 있습니다.
요약
위는 Java의 인스턴스 및 클래스의 동등성 코드 예제에 대한이 기사의 전체 내용입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!