反射_概述和射获取字节码Class对象的三种方式

反射_概述

反射:框架设计的灵魂

  >框架:半成品软件。可以在框架的基础上进行软件开发,简化编码

  >反射:将类的各个组成部分封装为其他对象,这就是反射机制

好处:

  1.可以在程序运行过程中,操作这些对象。

  2.可以解耦,提供程序的可扩展性。

射获取字节码Class对象的三种方式

 >获取Class对象的方式:

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

    >多用于配置文件,将类名定义在配置文件中。读取文件,加载类

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

    >多用于参数的传递

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

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

 

public class ReflectD01 {
    public static void main(String[] args) throws Exception {
        //1.Class.forName("全类名")
        Class aClass1 = Class.forName("com.peng.title3.HelloWorld1.junit.reflect.Person");//不能写错!!
        System.out.println(aClass1);
        //2.类名.Class
        Class aClass2 = Person.class;
        System.out.println(aClass2);
        //3.对象.getClass()
        Person p = new Person();
        Class aClass3 = p.getClass();
        System.out.println(aClass3);
        //比较三个对象
        System.out.println(aClass1 == aClass2);
        System.out.println(aClass1 == aClass3);
    }
}

 

posted @ 2022-07-22 09:12  魔光领域  阅读(34)  评论(0编辑  收藏  举报