반사 획득 클래스 기본 구조 정보
Class> clazz = Person.class;
//
Package p = clazz.getPackage();
//
String packageName = p.getName();
2、상위 클래스class 대상 가져오기
Class> clazz = Person.class;
Class> superClazz = clazz.getSuperclass();
3. 실현된 인터페이스의class 대상 가져오기
Class> clazz = Person.class;
// class
Class>[] clazzInterfaces = clazz.getInterfaces();
4. 구조기 획득 및 실례화
Class> clazz = Person.class;
//
Constructor>[] declaredConstructors = clazz.getDeclaredConstructors();
// ( )public
Constructor>[] constructors = clazz.getConstructors();
//
Constructor> specifiedConstructor = clazz.getDeclaredConstructor(String.class);
//
Object instance = specifiedConstructor.newInstance("hellow");
5, 획득 방법 및 방법 호출
Class> clazz = Person.class;
//
Method[] declaredMethods = clazz.getDeclaredMethods();
// ( )public
Method[] methods = clazz.getMethods();
//
Method method = clazz.getDeclaredMethod("setName");
// ,
Object obj = clazz.getDeclaredConstructors().newInstance();
method.invoke(obj, "hellow");
//
String name = method.getName();
//
int mod = method.getModifiers();
String modName = Modifier.toString(mod);
//
Class> returnType = method.getReturnType();
//
Class>[] parameterTypes = method.getParameterTypes();
//
Class>[] exceptionTypes = method.getExceptionTypes();
6, 호출 클래스 구성원
Class> clazz = Person.class;
Object obj = clazz.getDeclaredConstructor().newInstance();
//
Field[] declaredFields = clazz.getDeclaredFields();
// ( )public
Field[] fields = clazz.getFields();
//
Field field = clazz.getDeclaredField("name");
// ,
// public, field.setAccessible(true);
Object value = field.get(obj);
//
Class> type = field.getType();
// , :java.lang.String
type.getName();
// , :String
type.getSimpleName();
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.