Java 언어 class 클래스 사용법 및 일반화(상세)
말하자면 다음과 같다.
Class 클래스도 클래스의 일종으로 이름과class 키워드의 높이가 비슷할 뿐이다.Java는 대소문자에 민감한 언어입니다.클래스의 대상 내용은 당신이 만든 클래스의 유형 정보입니다. 예를 들어shapes 클래스를 만들면 자바는 shapes의Class 클래스의 대상을 생성합니다. 클래스의 대상은 일반 클래스처럼 new shapes () 방식으로 만들 수 없습니다. 이 클래스는public 구조 함수가 없기 때문입니다. 클래스의 역할은 실행할 때 특정한 대상의 유형 정보를 제공하거나 얻는 것입니다.C++의 typeid() 함수와 유사합니다.이러한 정보는 반사에도 사용할 수 있다.
1. 클래스 클래스 원리
우리는 모든java클래스가object클래스를 계승하는 것을 알고 있다.object클래스에는 getclass()가 있다.이 방법은 이 클래스가 실례화된 대상을 얻는 데 사용되는 이 클래스의 인용입니다. 이 인용은Class 클래스의 대상을 가리킵니다.우리는class 대상을 만들 수 없습니다. (구조 함수는private) 이 Class 클래스의 대상은 여러 종류가 불러올 때 자바 가상기에서 자동으로 Class 대상을 만들거나 클래스 마운트의 defineClass 방법을 통해 생성됩니다.생성된 객체에는 Class 클래스에 속한 객체의 위치를 기록하는 필드가 있습니다.다음 그림은 다음과 같습니다.
2. Class 클래스 객체 획득
Class 클래스의 forName 함수
public class shapes{}
Class obj= Class.forName("shapes");
두 번째 방법은 대상의 getClass () 함수를 사용합니다
public class shapes{}
shapes s1=new shapes();
Class obj=s1.getClass();
Class obj1=s1.getSuperclass();// shapes
세 번째 방법은 유서면 상량을 사용한다
Class obj=String.class;
Class obj1=int.class;
이 방법을 사용하여 Class 클래스 객체를 생성할 때 JVM에서 클래스(예: String 클래스)를 자동으로 로드하지 않습니다.다른 방법으로는 JVM이 클래스를 초기화할 수 있습니다.
3. Class 클래스의 대상을 사용하여 목표 클래스의 실례를 생성한다
부정확한 Object 인스턴스 생성
클래스의 대상을 가져오면 newInstance () 함수로 대상 클래스의 실례를 생성할 수 있습니다.그러나 이 함수는 목표 클래스의 실례를 직접 생성할 수 없고 Object 클래스의 실례만 생성할 수 있다
Class obj=Class.forName("shapes");
Object ShapesInstance=obj.newInstance();
범주화된 Class 참조를 사용하여 대역 유형의 대상 인스턴스 생성
Class obj=shapes.class;
shapes newShape=obj.newInstance();
유형 제한이 있기 때문에 범용 클래스 문법을 사용하는 대상 인용은 다른 클래스를 가리킬 수 없습니다.
Class obj1=int.class;
Class obj2=int.class;
obj1=double.class;
//obj2=double.class;
이 줄 코드는 불법입니다. obj2는 다른 클래스를 가리킬 수 없습니다. 그러나, 클래스의 대상으로 기본 클래스의 하위 클래스를 가리킬 수 있는 유연한 사용법이 있습니다.
Class extends Number> obj=int.class;
obj=Number.class;
obj=double.class;
따라서 다음 구문으로 생성된 Class 객체는 모든 클래스를 가리킬 수 있습니다.
Class> obj=int.class;
obj=double.class;
obj=shapes.class;
마지막으로 이상한 용법은 당신이 가지고 있는 클래스 대상의 기본 클래스 대상을 구축할 때 다음과 같은 특수 문법을 사용해야 한다는 것이다
public class shapes{}
class round extends shapes{}
Class rclass=round.class;
Class super round> sclass= rclass.getSuperClass();
//Class sclass=rclass.getSuperClass();
여기서 주의해야 할 것은 round의 기본 클래스가 shapes라는 것을 뻔히 알면서도 Class
이상의 내용 소개는 자바 언어class 클래스 사용법 및 일반화(상해)에 대한 모든 내용입니다. 상기 내용 소개를 좋아해 주시기 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.