자바 - 리플렉션
4313 단어 javaprogrammingtutorial
Student student = new Student()
student.
// IDE offers us features such as methods or variables here
우선, 간단한 Student 클래스
public class Student {
public final static int id = 4;
private String name;
private int age;
public Metallica () {
this ("James", 54);
}
//... other getters and setter
}
여기 리플렉션이 무엇인지 테스트하는 테스트 클래스가 있습니다.
Class<?> myClass = Class.forName("com.org.Student");
Object obj = myClass.newInstance();
// varargs can be used for getDeclaredConstructor
Constructor<?> cons = myClass.getDeclaredConstructor(String.class, Integer.TYPE);
for (Field field: myClass.getDeclaredFields())
(
System.out.println("Field:" + field.getName());
)
Field:id
Field:name
Field:age
getter 및 setter 이외의 개인 필드에 대한 액세스는 없지만 해당 변수의 이름을 얻었습니다. 💡 따라서 테스트 및 디버그에 더 유용합니다.
같은 방식으로 수정자를 얻을 수 있습니다 ...
int modifier = cons.getModifiers();
System.out.println("Modifer: " + Modifier.toString(modifier));
Modifier: public
학생 클래스가 공개로 구현되었기 때문입니다.
또한 invoke()를 통해 public, private 및 static 메서드를 호출하여 필요한 정보를 얻을 수 있습니다.
Reference
이 문제에 관하여(자바 - 리플렉션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/yigi/java-reflection-17kc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)