在我们学习基础的过程中,老师是按照顺序给你讲的。
这其实给我们造成一种误解:
先有写一个接口(抽象类),然后想着怎么实现,才会有为什么不能实例化这样的问题。
实际上,在开发过程中,这完全是本末倒置了。给你一个任务,鸡鸭猫狗都有叫唤的方法,你准备每个类都要写一个方法吗?
当然不是,编程一个重要原则就是避免重复。
所以你要“抽象”,啥叫抽象? 抽象 = 抽出像的部分
那就要抽出一个有“叫唤”这个方法的接口
然后让自己的类都来重写这个方法。
所以,接口(抽象类)是抽象出来的,是后面设计出来的。
他们的根本作用其实就是在限制类必须实现某个方法,提醒自己、也是在告诉别人,
我的类就是有这样的方法,你完全可以理解成为一种逻辑上的方法声明。
看完作用,相信你能明白为什么接口(抽象类)不能实例化,
因为它出现的目的和作用和实例化就根本不沾边。
|