黑马程序员技术交流社区
标题:
反射,获取运行时类的方法
[打印本页]
作者:
fmi110
时间:
2015-9-20 09:48
标题:
反射,获取运行时类的方法
a
package demo.reflect;
public class ReflectDemo {
/**
* 反射:通过class对象文件对象,去使用该文件中的成员变量,构造函数,成员方法
*
* 首先应该获取class文件对象,也就是Class类的对象
*
* Class类: 成员变量: Field 构造方法: Constructor 成员方法: Method
*
* 获取Class类的对象的方法
* 1 通过Object类的getClass()方法获取
* 2 数据类型的静态属性class
* 3 Class类中的静态方法
* public static Class<T> forName(String className);
* @throws ClassNotFoundException
*/
public static void main(String[] args) throws ClassNotFoundException {
// getClass()
People p1 = new People();
Class<? extends People> pc1 = p1.getClass();// 获取运行期间的类
People p2 = new People();
Class<? extends People> pc2 = p2.getClass();
System.out.println((p1 == p2) + "..." + (pc1 == pc2));//不同的类对象获取的Class文件对象是同一个
//类的静态属性
Class pc3 = People.class;
System.out.println(pc3 == pc2);
// Class类中的静态方法 forName()
Class pc4 = Class.forName("demo.reflect.People");
System.out.println(pc3 == pc4);
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2