首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java 获取Class的三种形式

2012-12-24 
Java 获取Class的三种方式package freewill.classObjectimport freewill.objectequals.Employee/*** @au

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

热点排行