java的反射机制到底是什么意思
java的反射机制到底是什么意思最近看了两天,一直没理解什么叫java的反射机制,所有人都说:运行中对于任何一个类,都能获得该类的所有属性和方法。那句话我都能背下来了,但...
java的反射机制到底是什么意思最近看了两天,一直没理解什么叫java的反射机制,所有人都说:运行中对于任何一个类,都能获得该类的所有属性和方法。
那句话我都能背下来了,但是究竟是个什么意思还是难以揣测,我只知道反射算是java的核心功能。
我也是学java几个月,目前我调用方法都是实例化一个类的对象,然后通过对象调用方法,如果是静态方法,可以直接通过类名调用,这是否就是反射的应用?
好吧,其实我想问的是内在是什么原理,类编译后变成.class文件,运行中找class文件不是很正常吗,跟所谓的反射有什么关系。。。 展开
那句话我都能背下来了,但是究竟是个什么意思还是难以揣测,我只知道反射算是java的核心功能。
我也是学java几个月,目前我调用方法都是实例化一个类的对象,然后通过对象调用方法,如果是静态方法,可以直接通过类名调用,这是否就是反射的应用?
好吧,其实我想问的是内在是什么原理,类编译后变成.class文件,运行中找class文件不是很正常吗,跟所谓的反射有什么关系。。。 展开
1个回答
2018-09-08
展开全部
我也是初学者,理解比较片面和粗浅,仅供参考。
首先反射允许访问一个类的私有方法,因此一定要慎用。
java反射的好处主要在工程中体现,比如有很多个互相依赖的类都在开发中,我的类要调用他写的类,但是他还要修改,那么我没办法导包,但不导包一编译直接报错。这个时候就可以使用反射的方法,让编译阶段不获取需要的类的信息,而是程序运行时动态地加载类,即我在写代码的时候我是不知道我调用的类的全部信息的。这样降低代码相互的依赖性。
首先反射允许访问一个类的私有方法,因此一定要慎用。
java反射的好处主要在工程中体现,比如有很多个互相依赖的类都在开发中,我的类要调用他写的类,但是他还要修改,那么我没办法导包,但不导包一编译直接报错。这个时候就可以使用反射的方法,让编译阶段不获取需要的类的信息,而是程序运行时动态地加载类,即我在写代码的时候我是不知道我调用的类的全部信息的。这样降低代码相互的依赖性。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询