java反射对象和new出来的对象有什么区别

一、**********************************************************************

a1:new属于静态编译

b1:反射属于动态编译,意思就说只有到运行时才会去获得该对象的实例,大多框架都是使用反射获取对象实例,如Spring

二、**********************************************************************

a2:静态编译类似于在编译的时候把你所有的模块都编译进exe里去,编译后就存在。

b2:动态编译则相反,编译的时候那些些模块都没有编译进去,类似于把那些模块都编译成dll,这样启动程序(初始化)的时候这些模块不会被加载,而是在运行的时候,用到哪个模块就会利用反射去取模块

三、**********************************************************************

a3:反射对象是直到程序运行期间才知道类的名字的实例,这时才获取对象的成员,并设置属性。此时要用到类的全限定名才能加载出该类的实例,并返回该类的对象。然后就可以遍历类中的各个方法,各个属性。

b3:new是给类直接在内存中创建一个实例,并且可以直接初始化等。不需要类的全路径。

猜你喜欢

转载自blog.csdn.net/weixin_44919928/article/details/89530625