首页 > 代码库 > java中三种方式获得类的字节码文件对象

java中三种方式获得类的字节码文件对象

package get_class_method;public class ReflectDemo {    /**     * @param args     */    public static void main(String[] args) {        getClassObject1();        getClassObject2();        getClassObject3();    }        public static void getClassObject1(){        Person p = new Person();        System.out.println(p.getClass().getName());    }    /*     * 方式二:重点掌握     * 通过给定类的字符串名称就可获得该类的字节码文件对象,更为扩展。     * (第一种和第三种都不具有扩展性)    */    public static void getClassObject2(){         Class<Person> pclass = null;         try {             /*              * 类的名字一定要写全(包括该类的包)              * 因为工程默认的路径查找时在bin目录或者src目录,如果类名不全,就无法找到该类             */             pclass = (Class<Person>) Class.forName("get_class_method.Person");             System.out.println(pclass.getName());         } catch (ClassNotFoundException e) {             e.printStackTrace();         }    }    /*     * 方式三:     * 任何数据类型都有一个静态的属性 .class来获取其对应类的字节码文件对象     * 相对简单,但是还是要明确用到类中的静态成员。还是不够扩展!    */    public static void getClassObject3(){        Class pclass = Person.class;        System.out.println(pclass.getName());    }    }

 

java中三种方式获得类的字节码文件对象