java反射机制是在运行过程中,对于任意一个类(class文件),都能知道这个类的所有属性和方法;
对于任意一个对象,都能够调用它的任意一个方法和属性;
用通俗一点话来说就是根据类中的各个成分反射出完整的类来,可以理解为对类的解剖。
一个类中的每个成员都可以用相应的反射API类的一个实例对象来表示,通过调用class类的方法可以得到。例如:变量,方法,构造方法,修饰符等信息。
其实在框架中绝大部分用到了反射。
框架要解决的核心问题,例如说改一个房子,住的人需要使用我的框架把门窗放到我的框架之中。框架和工具类的区别,工具类被用户的类调用,而框架则是调用用户提供的类。
new 和 反射:new 的时候根据类寻找类的字节码文件,并加载进内存,并创建该字节码文件对象,并接着创建该字节码文件对应的对象。反射则是寻该名称类文件,并加载进内存,并产生class对象。
反射构造方法:
Constructor constructor=Class.forName("java.lang.String").getConstructor(StringBuffer.class);
反射field:
Field x=Class.forName("com.test.ReflectPoint").getField("y");
下面在讲一下获取字节码的三种方式方便大家理解:
1.对象.getClass();
2.类.class
3.class.forName("java.lang.String")
每天发表一篇JAVA技术类文章,希望大家留言让我知道大家需要什么样的文章。。
本文暂时没有评论,来添加一个吧(●'◡'●)