new和java反射的区别

原创 2013年12月03日 17:29:09
 直接用new不行么?为什么要用反射?干嘛弄得那么麻烦!
  1.基本上效果差不多,但是new对象,无法调用该类里面私有的东西,反射反之,具体怎么做请参考java AIP,不过反射需要以牺牲性能做代价。
  2.在不知道类名的情况下,你怎么去new?我相信很多人看到这句话都迷糊了(新手),肯定有这样的疑问,不知道类名,你怎么反射啊?
  那么接下来在讲讲new和反射本质上的区别,new属于静态编译,而反射属于动态编译,意思就说只有到运行时他才会去获得该对象的实例,可能讲的有些抽象(也有可能讲的不太正确)
  举例:spring框架是事先就写好的框架,他内部的处理并不知道用户要写哪些类,应为那是以后由用他的人来定的,这时候你还能在spring内部去new吗?所以用户在用的时候才去配置文件中配置类路径,这是一个典型反射的例子,在很多面试中就问道了这个问题。
  静态编译和动态编译的区别:来自网上,借花献佛,
  静态编译就是在编译的时候把你所有的模块都编译进exe里去,当你启动这个exe的时候所有模块都加载进来了。你写小程序没问题,但程序一大,加载的过程(就是当你运行程序时初始化的过程)就比较费力了。。大多数ppc的硬件配置还是很一般的。
  动态编译就不一样了,你编译的时候那些模块都没有编译进去,一般情况下你可以把那些模块都编译成dll,这样你启动程序(初始化)的时候这些模块不会被加载,而是在运行的时候,用到那个模块就调用哪个模块。
  简单的打个比方,我写个阅读器,支持txt,pdf,udm三种格式,暂时把读txt,读pdf,读udm定义为三个功能模块。 使用静态编译:我想看个txt,点击应用程序图标以后三个功能都加载进来了,判断格式,使用读txt模块。(在这里,另外两个模块的作用就是占用系统资源) 使用动态编译:我想看个txt,点击应用程序,判断格式,只加载读txt模块,使用读txt模块。
  显然,动态编译1速度快,2节省了系统资源,3利于今后拓展。
  解释2 静态编译的话 exe文件运行的时候不会用到别的文件 动态编译 exe文件就要用到别的文件了
  解释3 一个是租自行车,什么时候骑什么时候租,有新车就租新车,没新车就租旧车,有电动车就省点劲,碰上没车座子的就扎屁股,人家不出租了你就别用了。 一个是自己买个自行车天天扛着,进电梯上地铁也扛着。老子自己的 ...
  解释4 用静态链接库编译,相当于你带着一个工具包到处跑(遇到有需要的地方不需要周围的环境提供相应的工具,自己用自己工具包的工具就行了,所以当环境发生变化可以尽可能的无视)。
转:http://blog.1688.com/article/i31697546.html

java中new和反射的区别

java中new和反射的区别
  • Jarvan_Song
  • Jarvan_Song
  • 2016年07月27日 14:06
  • 2022

java 反射和new的区别

关于java 反射和new的区别,在这里我不做多讲,因为网上有大把资料,描述得很详细。 今天我只讲一点,为什么要用反射?直接用new不行么?干嘛弄得那么麻烦! 1.基本上效果差不多,但是new对象...
  • molashaonian
  • molashaonian
  • 2016年11月15日 20:48
  • 1218

java 反射机制 / 反射new 对象 / 反射方式调用方法

java 反射 /** * * @author jalo * @printout * 反射:是在运行期间动态的加载一个类进来,动态的new 一个对象出来,动态去了解这个对象内部的结构,动态的...
  • nx188
  • nx188
  • 2016年01月05日 20:56
  • 1762

java 反射实现实体类的属性赋值

/** *  * 功能: 实例化一个指定的实体,(调用该方法以前,必须调用rs.next()) * 作者: jiangfuqiang * 创建日期:2014-1-10 * 修改者: mend...
  • jiangfullll
  • jiangfullll
  • 2014年01月10日 21:55
  • 2116

Java反射和动态代理详解和实例

一、反射 JAVA反射机制定义: JAVA反射机制是java程序在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以...
  • he90227
  • he90227
  • 2014年09月09日 14:26
  • 2453

反射和动态代理的区别

好吧,我承认,这个博客的名称都是有点问题的。因为笔者这个时候也有点混沌,但是我坚信这个应该是在将要质变的时候才会有的状态。 步入正文:反射和动态代理的区别。 动态代理,代理,前面已经有一篇文章说了...
  • wltsysterm
  • wltsysterm
  • 2017年03月31日 09:10
  • 746

使用new和反射实例化内部类对象

原文地址: http://hi.baidu.com/811417208/item/1a5d3fc07eb2595bad00ef90 使用new和反射实例化内部类对象 前两天看到一道面试题,是关于内...
  • li346985170
  • li346985170
  • 2013年08月14日 22:02
  • 1745

Java反射之Method(一)

通过以下代码,可以总结:根据不同的访问权限, public的static的方法:没有任何权限问题,getMethod()就可以满足,根本不用getDeclaredMethod出马,更不用setAcce...
  • QQ1130141391
  • QQ1130141391
  • 2013年10月05日 00:17
  • 7099

Java 两大利器 多态和反射

多态: 静态多态性和动态多态性 静态多态性:有两个函数,名称一样,但是系统可以接受,这叫函数重载,(静态多态性) 一个函数呈现多种状态,系统能够根据参数来决定调用谁 三种情况:参数个数不同;参数...
  • lanximu
  • lanximu
  • 2013年04月10日 20:36
  • 1080

关于 回调 、 反射 和异步的一些理解---初级知识

怎么说呢,一直都搞不动回调是个啥,和异步有啥关系,和反射又是怎么扯在一起的,今天特意查了一下资料,看了一些博客,知道了一些皮毛,现总结一下: 回调就是回调,和异步反射没有关系,要说有关系那也是在实现...
  • li438730745
  • li438730745
  • 2016年01月26日 14:15
  • 1355
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:new和java反射的区别
举报原因:
原因补充:

(最多只允许输入30个字)