java中的反射是什么,如何理解java中的反射?

JAVA中的反射无处不在,不仅在jdk中存在,还在诸如spring,mybatis,设计模式等中广泛使用!

首先要知道的是,JAVA可以算做编译型语言,大多数的类,方法都在编译时已经明确,这显然不能满足于我们所有的需求,使用反射就可以在运行时动态加载,通过类可以构造对象,准确的知道它的属性,方法等全部信息!
java中的反射是什么,如何理解java中的反射?

JAVA中的反射方式有以下几种:

①Class.forName(“类全路径”);

②对象名.getClass

③基本类型的包装类:Boolean.TYPE,Integer.TYPE等!

反射的作用有:

1,可以在运行时动态获得对象,

2,在运行时动态获取一个类的构造器,方法,变量,注解等!

3,实现动态代理。

反射的缺点:因为是在运行时获取,没有JAVA的预编译,在运行时性能存在问题!
java中的反射是什么,如何理解java中的反射?

反射的实际使用场景:

1,spring中实例化对象的时候如果都用new来创建对象,那将会十分繁琐,而且加入新类型的时候也需要重新new,spring的做法是让这些所有对象继承自beanDefinition,这样在实例化的时候,只要传入父类和子类类型即可!

2,动态代理:spring aop中的注释模式就是用了动态代理,比如JdkDynamicAopProxy
java中的反射是什么,如何理解java中的反射?

反射在实际开发中也是体现一个开发人员水平高低的参考,要让这种思想深深烙入心里,在实际开发中解决很多后期扩展困难的问题!

版权声明:本文内容由互联网用户投稿发布,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2211788188@qq.com 举报,一经查实,本站将立刻删除。如需转载请注明出处:https://www.wptmall.com/a/article/4017

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注