클래스 클래스는 Java 언어로 특정 클래스를 정의하는 구현입니다. 클래스 정의에는 멤버 변수, 멤버 메소드,이 클래스에서 구현 된 인터페이스 및이 클래스의 상위 클래스가 포함됩니다. 클래스 클래스의 객체는 현재 실행중인 Java 응용 프로그램에서 클래스 및 인터페이스를 나타내는 데 사용됩니다. 예를 들어, 각 배열은 클래스 클래스 객체에 속하며 동일한 요소 유형과 치수가있는 모든 배열은 클래스 객체를 공유합니다. 기본 Java 유형 (부울, 바이트, char, int, int, long, float and double) 및 void 유형도 클래스 객체로 표시 될 수 있습니다.
다음 예제는 클래스 객체를 사용하여 객체의 클래스 이름을 표시합니다.
void printclassName (object obj) {system.out.println ( " + obj +"의 클래스는 " + obj.getClass (). getName ()); }우리는 모두 모든 Java 클래스가 객체 클래스를 상속한다는 것을 알고 있습니다. 객체 클래스에는 getClass ()에 메소드가 있습니다. 이 방법은 인스턴스화 된 객체의 클래스에 대한 참조를 얻는 데 사용됩니다. 이 참조는 클래스 클래스의 대상을 가리 킵니다 (Hehe, 조금 어색합니다). 클래스 객체 (생성자 개인)를 생성 할 수 없으며,이 클래스 클래스의 객체는 다양한 클래스가 호출되거나 클래스 로더의 정의 메소드에 의해 생성 될 때 Java Virtual Machine에 의해 자동으로 생성됩니다. 우리가 생성하는 객체에는 클래스 클래스의 객체의 위치를 기록하는 필드가 있습니다. 아래 그림과 같이 :
우리는 각 클래스 객체를 많은 클래스의 프록시로 취급 할 수 있습니다. 또한 각 클래스 객체에는 IT 참조 클래스를 기록하는 클래스 로더가 있습니다. 이 필드가 NULL 인 경우 클래스의 로더가 부트 스트랩 로더임을 의미합니다. 구체적인 이유는 이전에 공유 한 "클래스 로더 작업 메커니즘"기사를 참조하십시오.
Java에는 여러 로더가 있으며 각 로더는 클래스 클래스 객체를 얻는 한 GetClassLoader () 메소드를 사용하여 클래스 로더에 대한 참조를 얻을 수 있습니다.
JVM은 각 유형의 관리자에게 고유 한 클래스 객체입니다. 따라서 Biequal 연산자를 사용하여 개체를 비교할 수 있습니다. a1.getClass () == A.class; 반품해야 할 것은 사실입니다.
ForName (String ClassName) 및 ForName (StringClassName, { *} Boolean Initialze, *ClassLoader *Loader) *메소드.
이 메소드는 주어진 문자열 이름으로 해당 클래스 객체를 반환합니다. 클래스 또는 인터페이스의 전체 경로 이름이 주어지면이 메소드는 클래스를 찾아,로드 및 연결하려고 시도합니다. 성공하면이 클래스의 대상을 반환하십시오. 그렇지 않으면 ClassNotFoundException 예외를 던지십시오. 예를 들어, 다음 코드 스 니펫은 java.lang.thread라는 실행중인 클래스 디스크립터를 반환합니다. classst = class.forname ( "java.lang.thread"); 이 방법은 클래스 로더를 지정해야합니다. 하나의 문자열 매개 변수만으로 Forname 메소드를 사용하는 경우 클래스 객체는 기본적으로 로더로 현재 클래스 로더를 호출하고 두 번째 매개 변수를 true로 설정합니다. 두 번째 매개 변수 설명 : False 인 경우 ForName 메소드를 호출하면 명령 클래스 로더에 클래스를로드하고 클래스의 정적 블록을 초기화하지 않습니다. 정적 블록은 클래스가 처음으로 인스턴스화 된 경우에만 호출됩니다. 사실 일 때, 로딩 할 때 정적 블록이 호출됩니다.
getClassLoader ()
이 클래스의 클래스 로더를 얻으십시오.
getComponentType ()
현재 클래스가 배열을 나타내는 경우 배열의 구성 요소를 나타내는 클래스 객체를 반환하고 그렇지 않으면 NULL을 반환합니다.
getConstructor (class [])
현재 클래스 객체로 표시된 클래스의 지정된 공개 생성자 자식 객체를 반환합니다.
getConstructors ()
현재 클래스 객체로 표시되는 클래스의 모든 공개 생성자 서브 버젝트의 배열을 반환합니다.
getDeclaredConstructor (class [])
현재 클래스 객체로 표시된 클래스에 의해 지정된 생성자 서브 버젝트를 반환합니다.
getDeclaredConstructors ()
현재 클래스 객체로 표시되는 클래스의 모든 명시된 생성자 서브 버젝트의 배열을 반환합니다.
getDeclaredfield (String)
현재 클래스 객체로 표시된 클래스 또는 인터페이스에 지정된 도메인 객체를 리턴합니다.
getDeclaredFields ()
현재 클래스 객체로 표시되는 클래스 또는 인터페이스에 대한 모든 명시된 도메인 객체의 배열을 반환합니다.
getDeclaredMethod (String, class [])
현재 클래스 객체로 표시된 지정된 클래스 또는 인터페이스에 지정된 메소드 객체를 리턴합니다.
getDeclaredMethods ()
클래스 객체로 표시되는 클래스 또는 인터페이스에 대한 모든 명시된 메소드 배열을 반환합니다.
getfield (문자열)
현재 클래스 객체로 표시되는 클래스 또는 인터페이스의 지정된 공개 멤버 도메인 개체를 반환합니다.
getfields ()
현재 클래스 객체로 표시되는 클래스 또는 인터페이스에 대한 액세스 가능한 공개 도메인 개체 배열을 반환합니다.
getInterfaces ()
현재 객체 또는 인터페이스로 표시된 클래스가 구현 한 인터페이스를 반환합니다.
getMethod (String, class [])
현재 클래스 객체로 표시되는 클래스 또는 인터페이스의 지정된 공개 멤버 메소드 개체를 반환합니다.
getMethods ()
부모 클래스에서 선언 및 상속을 포함하여 현재 클래스 객체로 표시되는 클래스 또는 인터페이스에 대한 모든 공개 멤버 메소드 개체의 배열을 반환합니다.
getModifiers ()
클래스 또는 인터페이스에 대한 Java 언어 수정 자 코드를 반환합니다.
getName ()
클래스 객체로 표시되는 유형 (클래스, 인터페이스, 배열 또는 기본 유형)의 전체 경로 이름 문자열을 반환합니다.
getResource (String)
지정된 이름으로 리소스를 찾습니다.
getResourceasstream (String)
주어진 이름으로 리소스를 찾으십시오.
getsigners ()
클래스 태그를 얻으십시오.
getSuperClass ()
이 객체가 객체를 제외한 클래스를 나타내는 경우이 개체의 부모 클래스 객체가 반환됩니다.
isarray ()
클래스 객체가 배열을 나타내는 경우 true를 반환합니다. 그렇지 않으면 false를 반환합니다.
IsAssignablefrom (클래스)
클래스 객체로 표시되는 클래스 또는 인터페이스가 매개 변수로 지정된 클래스로 표시되는 클래스 또는 인터페이스와 동일한 지 또는 상위 클래스인지 결정합니다.
isinstance (객체)
이 방법은 Java 언어로의 작업의 예를 들어 동적 동등한 방법입니다.
isinterface ()
지정된 클래스 객체가 인터페이스 유형을 나타내는 지 여부를 결정합니다.
isprimitive ()
지정된 클래스 객체가 Java 기본 유형을 나타내는 지 여부를 결정합니다.
NewInstance ()
클래스의 새 인스턴스를 만듭니다.
ToString ()
개체를 문자열로 변환합니다.
요약
위는 Java의 수업 수업에 대한 간단한 논의에 관한이 기사의 전체 내용이며, 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!