获取字节码的三种方法:
1-根据创建的类对象的getClass()方法获得
Person person1 = new Person();
Person person2 = new Person();
Class clazz1 = person.getClass();
Class clazz2 = person.getClass();
System.out.println(clazz1==clazz2); // true
注意:同一个类创建的多个对象返回的字节码是同一个,
Person类的字节码文件在创建对象之前先以字节码类对象存储于对内存中
缺点是需要创建对象
2.数据类型的私有属性
Class clazz=Person.class
java中所有的数据类型都有此私有属性比如int.class,通过私有属性获取到类的字节码文件。
3.Class.forName方法
String classname = “a.b.c.Person”;
Class clazz = Class.forName(classname);
注意:类的名字一定要写全了
应用场景:
为了提高程序的可扩展性,通过此方法获取到类的字节码文件,
即可以动态的获取到应用后来扩展的新的功能而创建的类。
在配置文件中,只需要正确的配置新创建的类名就可以,
不用修改源代码,从而大大提高程序的可扩展性,该技术就是反射技术。