接口、抽象类、普通类的简单的个人理解

q1:什么是接口?

a:首先要明白接口是对外的一种称呼,对内不存在接口这种概念。其次根据我们现实生活中的经验来看,例如USB接口,一个usb接口,不同商家的只要是满足“这个usb接口定义的规则”的u盘都可以进行使用,这说明,接口是中定义了一些规则,即一些抽象。最后在回到java当中来,一个接口往往是指一些实体模型的抽象(抽象是指把许多实体的相同的属性,功能进行一个整合形成一个规范,例如,一个单车实体,一个摩托车实体,其公共部分是都有两个轮子,都有方向盘,都可以发动,都可以跑,那么我们就可以把这些公共的东西进行个一个整理形成一个描述:具有两个轮子和一个方向盘,且可以发动跑的一种东西),例如,三角形是形状的一种实现,圆形也是形状的一种实现。而这里的形状则是抽象了一部分实体的描述:形状。

q2: 接口能做什么?

a: 根据它的对外特性,首当其冲的肯定是,对外放出,方便外部使用咯。其次是有效的保护了,不同的实现。再者是增强了可扩展性。反正好处多多就对了

q3: 接口既然是一种抽象,那么java中的抽象类还有什么用啊?

a:我个人的理解是,接口是抽象类的一种高级版本,也许一开始没有接口这种概念并没有引入到java中,或许一开始只有我们的抽象类来作为类似接口的工作,直到后来引入了接口的概念。其实两者干的是一回事,只是接口的引入还有一个重要使命是完成所谓的多继承,其实是多实现而也。因为我们都知道,类和类之间只有单继承关系的,不管这个是是不是抽象的,但是接口这货就厉害了,只要你喜欢,可以同时现实无穷多个。除此之外,接口要高级一点所以要求也必要严格,所有的方法都必须是抽象方法,即没有{},但是低级的抽象类,虽然低级,但是很有包容心,是允许抽象方法和成员方法(说实在的成员方法,没有对象有什么意义啊,抽象类又不能new,只有把希望寄托在子类上面了,如果子类不争气,没有实现抽象父类的抽象方法,那么子类也会悲剧变成抽象类了。如果实现了,那么子类便可以new,那个就可以通过子类是父类的克隆版,只是增加了一些自己的特点而已,来使用抽象父类的方法了),类方法共同存在的。总之一句话,所有的抽象存在的唯一使命就是让别人去实现它,否则它的存在没有任何意义。至于两个的使用个人觉得看心情了。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值