黑马程序员技术交流社区

标题: 反射 [打印本页]

作者: Over_Mstuang    时间: 2015-8-14 21:36
标题: 反射
反射的三种获取方法
package com.zhan.fanshe1;
/*
* 反射:在运行状态下,通过class文件对象(Class的对象),去使用构造方法,成员变量,成员方法。
*
* 那么,我们是如何获取到class文件对象的呢?(字节码文件对象)
* A:Object类的getClass()方法。
* B:数据类型的静态的class属性
* C:通过Class类的静态方法forName(String className)
*
* 到底使用哪一种呢?
* 开发中用第三种。自己写例子测试可以使用前两种。
* 因为第三种方式可以结合配置文件使用。
*/
public class Test {
        public static void main(String[] args) throws ClassNotFoundException {
                //方式一:Object类的getClass()方法
                Person p = new Person();
                Class c = p.getClass();
                Person p1 = new Person();
                Class c1 = p.getClass();
                System.out.println(p == p1);
                System.out.println(c == c1);
                System.out.println("-------------");
                //方式二:数据类型的静态Class属性
                Class c3 = Person.class;
                System.out.println(c == c3);
                System.out.println("-----------");
                //方式三:通过Class类的静态方法forName(String className)
                Class c4 = Class.forName("com.zhan.fanshe1.Person");
                System.out.println(c == c4);
        }

        private static Class forName() {
                // TODO Auto-generated method stub
                return null;
        }
}





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