Java 프로그램이 실행될 때 Java 시스템은 항상 모든 객체 인 So -Called RTTI의 So -Called Runtime 유형 식별을 수행했습니다. 이 정보는 각 객체의 클래스를 기록합니다. 가상 머신은 일반적으로 이러한 유형의 정보를 실행하는 유형 정보를 실행하는 올바른 방법을 사용합니다. 클래스 클래스는 객체 및 인터페이스의 상태를 캡슐화합니다. 로딩 클래스가로드되면 클래스 유형 객체가 자동으로 생성됩니다.
간단한 요약은 다음과 같습니다.
클래스 클래스도 클래스이지만 이름은 클래스 키워드의 이름과 유사합니다. Java는 민감한 언어입니다.
클래스 클래스의 내용은 당신이 만든 클래스의 유형 정보입니다.
클래스 클래스의 객체는 일반 클래스와 같이 새로운 모양 () 방식으로 생성 할 수 없습니다.
클래스 클래스의 역할은 런타임 동안 특정 객체를 제공하거나 얻는 유형 정보를 제공하거나 얻는 것입니다. 이 정보는 반사에도 사용될 수 있습니다.
1. 클래스 클래스 원칙
우리는 모든 Java 클래스가 객체 클래스에 상속됩니다 수업 수업. 클래스 객체를 생성 할 수 없으며 (생성자는 비공개),이 클래스 클래스의 객체는 전송 될 때 Java 가상 시스템에 의해 클래스 객체를 자동으로 작성하는 것입니다. 우리가 생성하는 객체에는 객체의 클래스 클래스에서 객체의 객체의 위치를 기록하는 필드가 있습니다. 아래 그림과 같이 :
2. 클래스 클래스 객체를 얻으십시오
첫 번째 방법은 클래스 클래스의 이름 함수입니다.
[Codec 클래스 모양 {}
클래스 obj = class.forname ( "Shapes");
두 번째 방법은 객체의 객체의 객체를 사용하는 것입니다.
다음과 같이 코드 코드 복사 : 클래스 모양 {}
모양 s1 = new Shapes ();
클래스 obj = s1.getClass ();
클래스 OBJ1 = S1.GetSuperClass ();
세 번째 방법은 유형 상수 유형을 사용하는 것입니다.
다음과 같이 코드 코드를 복사하십시오. obj = string.class;
클래스 OBJ1 = int.class;
이 메소드를 사용하여 클래스 클래스 객체를 생성 할 때 JVM은 클래스 (예 : String)를 자동으로로드하지 않습니다. 다른 방법으로 JVM 이이 클래스를 초기화하게합니다.
3. 클래스 클래스의 객체를 사용하여 대상 클래스의 인스턴스를 생성합니다.
부정확 한 개체 인스턴스
클래스 클래스의 객체를 얻은 후 NewInstance () 함수를 사용하여 대상 클래스의 인스턴스를 생성 할 수 있습니다. 그러나이 함수는 대상 클래스의 인스턴스를 직접 생성하지 않으며 객체 클래스의 인스턴스 만 생성 할 수 있습니다.
다음과 같이 코드 코드를 복사합니다. obj = class.forname ( "Shapes");
Object ShapesInstance = obj.newinstance ();
일반화 클래스를 사용하여 유형 벨트 유형의 대상 인스턴스를 참조하십시오.
다음과 같이 코드 코드를 복사하십시오. shapes> obj = shapes.class;
모양 NewShape = obj.newinstance ();
유형 제한으로 인해 일반화 클래스 구문에 대한 객체 참조는 다른 범주로 지시 될 수 없습니다.
다음과 같이 코드 코드를 복사하십시오. 클래스 OBJ1 = int.class;
클래스 <integer> obj2 = int.class;
OBJ1 = double.class;
//obj2=double.class;이 라인 코드는 불법이며 OBJ2는 다른 범주로 변경할 수 없습니다.
그러나 클래스 객체가있는 기본 클래스의 서브 클래스를 가리킬 수있는 유연한 사용법이 있습니다.
다음과 같이 코드 코드를 복사하십시오. 클래스 <?
obj = 번호 .class;
obj = double.class;
따라서 아래에서 생성 된 클래스 객체는 모든 클래스를 가리킬 수 있습니다.
다음과 같이 코드 코드를 복사하십시오. class <?> obj = int.class;
obj = double.class;
obj = shapes.class;
마지막으로 이상한 사용법은이 일반 구문을 사용하여 당면한 클래스 클래스의 객체의 기본 클래스 객체를 구축 할 때 다음과 같은 특수 문법을 사용해야한다는 것입니다.
다음과 같이 코드 코드 복사 : 공개 클래스 모양 {}
클래스 라운드는 모양을 확장합니다 {}
클래스 <rand> rclass = round.class;
클래스 <? 슈퍼 라운드> rclass.getSuperClass ();
// class <shapes> sclass = rclass.getSuperClass ();
우리는 라운드의 기본 클래스가 모양이지만 클래스를 직접 선언 할 수는 없으며 특별한 문법을 사용해야합니다.
클래스 <? 슈퍼 라운드>
위는이 기사의 모든 내용입니다.