应用场景
Java获取Class对象的三种方式。
实现
待获取Class对象的Java文件
package domain;
public class Person {
private String name;
private int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
获取Class对象
package reflect;
/*
获取Class对象的三种方式:
1.Class.forName("全类名")。多用于配置文件,将类名定义在配置文件中。
2.类名.class。多用于参数的传递。
3.对象.getClass()。多用于对象的获取字节码的方式。
*/
import domain.Person;
public class ReflectDemo {
public static void main(String[] args) throws ClassNotFoundException {
//1.Class.forName("全类名")
Class cls0 = Class.forName("domain.Person");
System.out.println(cls0);
//2.类名.class
Class cls1 = Person.class;
System.out.println(cls1);
//3.对象.getClass()
Person p = new Person();
Class cls2 = p.getClass();
System.out.println(cls2);
}
}
总结
获取Class对象的三种方式:
- Class.forName(“全类名”)。多用于配置文件,将类名定义在配置文件中。
- 类名.class。多用于参数的传递。
- 对象.getClass()。多用于对象的获取字节码的方式。