类的动态加载-2

1.通过new创建对象是静态加载,如图一,假如此时Word类和Excel类并不存在,Office类是不可以通过编译的,再假如一个类中要对很多类进行实例化,都是通过New实例化的,那么,但凡有一个类出问题了,那么整个大类就不会通过编译。
2.如图二,我们使用的是动态加载类的方法,在编译此类时,并不会加载那些需要动态加载的类,所以即使那些需要实例化的类不存在,OfficeBetter类也可以进行编辑,只有在使用那些不存在类的实例时才会报错,类找不到啊。。。。

这里写图片描述
图一

这里写图片描述
图二

3.动态加载类的好处,我们以图二,三,四三个类来说,
注意,图二中我们在创建类对象时,需要强制转换类类型,此时我们怎么会知道传入的类是啥呀,即使知道是具体哪个类,我们在这里写了这个类,谁又能保证今后需求不变动呢,难道每次更改这个类,我们都要到这类改一下??不,我们有更好的方法,我们可以声明一个接口,如下,然后实现这个接口,这样的话,每当功能变动时,我们只需要新建一个类实现我们这个接口即可,也不要修改图三中类的代码,也不用重新进行编译。。。。。。。。。。很好就学过这个知识,也就是现在项目用到了,所以理解起来感觉又不一样了。

这里写图片描述
图三

这里写图片描述
图四

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值