abstract class vc interface

abstract class 和 interface 都提供可以不具体实现的方法。其中一个类不能继承多个abstract方法,但是可以实现多个interface。java类没有多继承,但是通过interface来来补充。通过实现过个interface,来实现java多重继承。 java中所有的对象可以用类来表示,但并不是所有的类都是来描绘对象的。用来描绘某一类对象共有的本质就是抽象。

 

 different 从语言层面讲:

abstract class :

可以有 自己的 (private)数据成员。 有些方法可以具体实现。

abstract class可以提供某些方法的部分实现,而interface不可以,这大概就是abstract class唯一的优点吧,但这个优点非常有用。如果向一个抽象类里加入一个新的具体方法时,那么它所有的子类都一下子都得到了这个新方法,而 interface做不到这一点,如果向一个interface里加入一个新方法,所有实现这个接口的类就无法成功通过编译了,因为你必须让每一个类都再 实现这个方法才行。

 

 

 interface :

不可能有自己的数据成员,只能有静态的,不能被修改的 数据成员。即就是 static final。

所有的成员方法都是abstract的。从这方面说interface是abstract class 的一种特殊情况。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值