黑马程序员技术交流社区

标题: 反射,获取运行时类的方法 [打印本页]

作者: fmi110    时间: 2015-9-20 09:48
标题: 反射,获取运行时类的方法
a
  1. package demo.reflect;

  2. public class ReflectDemo {

  3.         /**
  4.          * 反射:通过class对象文件对象,去使用该文件中的成员变量,构造函数,成员方法
  5.          *
  6.          * 首先应该获取class文件对象,也就是Class类的对象
  7.          *
  8.          * Class类: 成员变量: Field 构造方法: Constructor 成员方法: Method
  9.          *
  10.          * 获取Class类的对象的方法
  11.          *  1  通过Object类的getClass()方法获取
  12.          *  2  数据类型的静态属性class
  13.          *  3 Class类中的静态方法
  14.          *          public static Class<T> forName(String className);
  15.          * @throws ClassNotFoundException
  16.          */
  17.         public static void main(String[] args) throws ClassNotFoundException {
  18.                 // getClass()
  19.                 People p1 = new People();
  20.                 Class<? extends People> pc1 = p1.getClass();// 获取运行期间的类
  21.                 People p2 = new People();
  22.                 Class<? extends People> pc2 = p2.getClass();
  23.                 System.out.println((p1 == p2) + "..." + (pc1 == pc2));//不同的类对象获取的Class文件对象是同一个
  24.                
  25.                 //类的静态属性
  26.                 Class pc3 = People.class;
  27.                 System.out.println(pc3 == pc2);
  28.                
  29.                 // Class类中的静态方法 forName()
  30.                 Class pc4 = Class.forName("demo.reflect.People");
  31.                 System.out.println(pc3 == pc4);
  32.         }

  33. }
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2