JAVA基础补漏--反射

获得CLASS的三种方式:

1.Class.forname("全类名"):将字节码文件加载进内存,返回Class对象。

多用于配置文件,将类名放到配置文件中,读取配置文件,加载类

2.类名.class:通过类名的属性class获取

多用于参数的传递

3.对象.getClass():getClass()方法在Object类中定义着。

多用于对象获取字节码的方式

结论:

同一个字节码文件(*.class)在一次程序运行过程中,只会被加载一次,无论通过哪种方式获得的class都是同一个。

        Class cls = Class.forName("cn.bj.domin.Person");
        System.out.println(cls);

        Class cls2 = Person.class;
        System.out.println(cls2);

        Person p = new Person();
        Class cls3 = p.getClass();
        System.out.println(p.getClass());

        System.out.println(cls == cls2);//true
        System.out.println(cls == cls3);//true
posted @ 2019-02-19 15:46  comeluder  阅读(112)  评论(0编辑  收藏  举报