栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

new运算符和Class.newInstance()有什么区别?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

new运算符和Class.newInstance()有什么区别?

new
操作创建一个是静态已知的(在编译时),并可以调用你想创建对象的任何构造一个类型的新对象。这是创建对象的首选方式-
快速且JVM对它进行了许多积极的优化。

Class.forName().newInstance()
是一个动态构造,用于查找具有特定名称的类。它比使用速度慢,
new
因为无法将对象的类型硬编码到字节码中,并且因为JVM可能必须执行权限检查以确保您有权创建对象。它也是部分不安全的,因为它始终使用零参数构造函数,并且如果您要创建的对象没有null构造函数,它将引发异常。

简而言之,

new
如果您在编译时知道要创建的对象类型,则使用。使用
Class.forName().newInstance()
,如果你不知道你会作出什么类型的对象。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/469818.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号