이 기사는 주로 Java 언어 클래스 분류 및 일반화를 소개합니다 (자세한 설명). 이 정보는 각 객체의 클래스를 기록합니다. 가상 머신은 일반적으로 이러한 유형의 정보를 실행하는 유형 정보를 실행하는 올바른 방법을 사용합니다. 클래스 클래스는 상태를 캡슐화하고 로딩 클래스가 실행되면 클래스 유형 객체가 자동으로 생성됩니다.
분명하게 넣으려면 :
클래스 클래스도 클래스이지만 이름은 클래스 키워드의 이름과 유사합니다. Java는 민감한 언어입니다.
클래스 클래스의 내용은 당신이 만든 클래스의 유형 정보입니다.
클래스 클래스의 객체는 일반 클래스와 같이 새로운 모양 () 방식으로 생성 할 수 없습니다.
클래스 클래스의 역할은 런타임 동안 특정 객체를 제공하거나 얻는 유형 정보를 제공하거나 얻는 것입니다. 이 정보는 반사에도 사용될 수 있습니다.
1. 클래스 클래스 원칙
우리는 모든 Java 클래스가 객체 클래스에 상속됩니다 수업 수업. 클래스 객체를 생성 할 수 없으며 (생성자는 비공개),이 클래스 클래스의 객체는 전송 될 때 Java 가상 시스템에 의해 클래스 객체를 자동으로 작성하는 것입니다. 우리가 생성하는 객체에는 객체의 클래스 클래스에서 객체의 객체의 위치를 기록하는 필드가 있습니다. 아래 그림과 같이 :
2. 클래스 클래스 객체를 얻으십시오
첫 번째 방법은 클래스 클래스의 이름 함수입니다.
다음과 같이 코드 코드를 복사하십시오.
공개 계급 모양 {}
클래스 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;
이 코드 라인은 다른 클래스로 변경 될 수 없지만, 클래스의 객체를 가진 기본 클래스의 모든 서브 클래스를 가리킬 수 있습니다.
다음과 같이 코드 코드를 복사하십시오.
클래스 <?
obj = 번호 .class;
obj = double.class;
따라서 아래에서 생성 된 클래스 객체는 모든 클래스를 가리킬 수 있습니다.
다음과 같이 코드 코드를 복사하십시오.
클래스 <?> obj = int.class;
obj = double.class;
obj = shapes.class;
마지막으로 이상한 사용법은이 일반 구문을 사용하여 당면한 클래스 클래스의 객체의 기본 클래스 객체를 구축 할 때 다음과 같은 특수 문법을 사용해야한다는 것입니다.
다음과 같이 코드 코드를 복사하십시오.
공개 계급 모양 {}
클래스 라운드는 모양을 확장합니다 {}
클래스 <rand> rclass = round.class;
클래스 <? 슈퍼 라운드> rclass.getSuperClass ();
// class <shapes> sclass = rclass.getSuperClass ();
여기에서 기본 클래스가 모양이라는 것을 알 수 있지만 <shapes>를 직접 선언 할 수는 없습니다
위의 내용의 도입은 Java Language Classicification 방법 및 일반화의 전체 내용입니다 (자세한 설명).