abstract class和interface的区别

来源:互联网 发布:类似bilibili的软件 编辑:程序博客网 时间:2024/03/29 23:27

abstract
1、可以有自己的数据成员,也可以有非abstarct的成员方法
2、可以提供某些方法的部分实现
3、向一个抽象类里加入一个新的具体方法时,所有的子类都一下子都得到了这个新方法
4、是一种继承关系,一个类只能使用一次继承关系

interface
1、只能够有静态的不能被修改的数据成员(也即interface是static final的),所有的成员方法都是abstract的。
2、不提供某些方法的部分实现,只有方法的定义。
3、如果向一个interface里加入一个新方法,所有实现这个接口的类就无法成功通过编译了,因为你必须让每一个类都再实现这个方法才行。
4、一个类却可以实现多个interface
原创粉丝点击