package com.hacademy.reflection3;
public class Test01 {
public static void main(String[] args) throws ClassNotFoundException {
Class<? extends Member> a = new Member().getClass();
Class<Member> b = Member.class;
Class<?> c = Class.forName("com.hacademy.reflection3.Member");
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
Class<?> c = Class.forName("com.hacademy.reflection3.Member");
Test02.java
package com.hacademy.reflection3;
public class Test02 {
public static void main(String[] args) {
if(args.length != 2)
throw new IllegalArgumentException("usage : java Test02 [basePackage] [className]");
String basePackage = args[0];
String className = args[1];
String fullPath = basePackage+"."+className;
try {
Class<?> c = Class.forName(fullPath);
System.out.println("c = " + c);
}
catch(ClassNotFoundException e) {
System.err.println("잘못된 클래스 경로");
}
}
}
package com.hacademy.reflection3;
import java.lang.reflect.Field;
public class Test03 {
public static void main(String[] args) throws ClassNotFoundException {
Class<?> c = Class.forName("com.hacademy.reflection3.Member");
System.out.println("<accessible field list>");
for(Field field : c.getFields()) {
System.out.println(field);
}
System.out.println("<declared all field list>");
for(Field field : c.getDeclaredFields()) {
System.out.println(field);
}
}
}