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()); 
    } 

你可能感兴趣的:(java,编程)