为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

白衣非少年 2019-07-07 16:04:27
关于java反射对象和new 出来的对象有什么区别
查看完整描述

4 回答

?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

反射对象是直到程序运行期间才知道类的名字的实例,这时才获取对象的成员,并设置属性。此时要用到类的全路径 ,用类的全路径来加载类,并返回该类的对象。以后就可以遍历类中的各个方法,各个属性。
new是给类直接在内存中创建一个实例,并且可以直接初始化等。不需要类的全路径。

查看完整回答
反对 回复 2019-07-08
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

new属于静态编译
反射属于动态编译,意思就说只有到运行时才会去获得该对象的实例,Spring就是使用的反射

静态编译就是在编译的时候把你所有的模块都编译进exe里去。

动态编译就不一样了,编译的时候那些模块都没有编译进去,一般情况下可以把那些模块都编译成dll,这样启动程序(初始化)的时候这些模块不会被加载,而是在运行的时候,用到那个模块就调用哪个模块

查看完整回答
反对 回复 2019-07-08
?
忽然笑

TA贡献1806条经验 获得超5个赞

  1. java反射对象:就是取到该类的对象,这一般是写框架的时候会用到。

  2. new出来的对象:就是一个类,然后使用new关键字,就可以创建一个对象,这是普遍的用法。

  3. 两种方法,都是可以使用的类对象,只是用的地方不一样。


 



查看完整回答
反对 回复 2019-07-08
?
森栏

TA贡献1810条经验 获得超5个赞

new属于静态编译
反射属于动态编译,意思就说只有到运行时才会去获得该对象的实例,Spring就是使用的反射

静态编译就是在编译的时候把你所有的模块都编译进exe里去。

动态编译就不一样了,编译的时候那些模块都没有编译进去,一般情况下可以把那些模块都编译成dll,这样启动程序(初始化)的时候这些模块不会被加载,而是在运行的时候,用到那个模块就调用哪个模块

查看完整回答
反对 回复 2019-07-08
  • 4 回答
  • 0 关注
  • 1507 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信