A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fmi110 高级黑马   /  2015-9-20 09:48  /  116 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马