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中三种方式获得类的字节码文件对象 的全部内容, 来源链接: utcz.com/z/392593.html

回到顶部