Class.forName()和new和Instantiation()区别

本文探讨了newInstance()方法与new关键字之间的区别,详细解释了newInstance()的动态加载特性及其支持的软件设计原则,如可伸缩性和可重用性。同时对比了newInstance()与new在类型安全性、效率及构造方法调用方面的不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Class.forName()和new和Instantiation()区别

newInstance()是一个方法new是一个关键字,他们都是创建一个新类,newINstance使用的加载机制,new就是直接创建一个新类

newInstance可以支持软件的可伸缩,可扩展,可重用的软件思想

例如 动态加载一个类  工厂经常要用到
 String lei=//可以从外部传入 可扩展性高
 class c=Class.forName(lei); 要加载的类是个静态方法 forName返回的是类,forName的作用是要求jvm查找并加载指定的类,也就是说jvm会执行该类的静态代码块
 要产生的对象=(接口)c.newInstance();//只要传入的子类继承与这个接口  newInstance返回的是对象

使用动态加载 必须保证1这个类已经加载2这个类已经连接了

2者基本区别是 newInstance弱类型,低效率,只能调用无惨构造
       new:强类型,相对高效,能调用任何public构造
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值