-------
android培训、
java培训、期待与您交流! ----------
package cn.itcast.p3.reflect;
import cn.itcast.p3.bean.Person;
public class ReflectDemo {
/**
* @param args
* @throws ClassNotFoundException
*/
/*
* 字节码文件对象获取的三种方式
* */
public static void main(String[] args) throws ClassNotFoundException {
//clssgetMethod_1();
//clssgetMethod_2();
clssgetMethod_3();
}
/**
* 第三种方式:
* 通过给定的类的字符串名称就可以获取该类。
* 使用Class类中的方法就能完成
* forName
* @throws ClassNotFoundException
*
* */
private static void clssgetMethod_3() throws ClassNotFoundException {
String str="cn.itcast.p3.bean.Person";
Class clazz=Class.forName(str);
Class clazz1=Class.forName(str);
System.out.println(clazz==clazz1);
}
/**
* 第二种方式:
* 各种数据类型都有一个静态的方法.class用于获取该类的对象
* 看上去是简单,但是扩展不强
*/
private static void clssgetMethod_2() {
Class clazz=Person.class;
Class clazz1=Person.class;
System.out.println(clazz==clazz1);
}
/**第一种方式:
* 通过object的getclass方法进行字节码文件对象的获取
* 使用这种方法,必须要先创建好类,然后再创建好该类的对象。
* 使用这种太麻烦。扩展性差
* */
private static void clssgetMethod_1() {
Person p=new Person();
Class clazz=p.getClass();
Person p1=new Person();
Class clazz1=p1.getClass();
System.out.println(clazz==clazz1);
}
}