Java 获取Class的三种方式
package freewill.classObject;
import freewill.objectequals.Employee;
/**
* @author freewill
* @desc 获取Class的三种方式
*/
public class Demo {
/**
* @desc 方法1:通过getClass获取
* @return Class
*/
public Class<Employee> getClass1() {
Employee e = new Employee();
@SuppressWarnings("unchecked")
Class<Employee> cl = (Class<Employee>) e.getClass();
return cl;
}
/**
* @desc 方法2:通过静态方法Class.forName获取
* @return Class
* @throws ClassNotFoundException
*/
public Class<Employee> getClass2() throws ClassNotFoundException {
String classname = "freewill.objectequals.Employee";
@SuppressWarnings("unchecked")
Class<Employee> cl = (Class<Employee>) Class.forName(classname);
return cl;
}
/**
* @desc 方法3:通过类.class属性获取
* @return Class
*/
public Class<Employee> getClass3() {
Class<Employee> cl = Employee.class;
return cl;
}
public static void main(String[] args) throws ClassNotFoundException {
Demo demo = new Demo();
Class<Employee> class1 = demo.getClass1();
System.out.println(class1.getName());
Class<Employee> class2 = demo.getClass2();
System.out.println(class2.getName());
Class<Employee> class3 = demo.getClass3();
System.out.println(class3.getName());
}
}