abstract class和interface有什么区别?

来源:互联网 发布:sql for循环语句 编辑:程序博客网 时间:2024/05/16 06:26

抽象类:

 |-由抽象方法和常量、变量、全局常量、构造方法、普通方法组成

 |-使用abstract声明

 |-子类要通过extends继承抽象类,子类如果不是抽象类,则必须覆写抽象类的全部抽象方法

 |-存在单继承的局限

 |-抽象类可以实现若干个接口

接口:

 |-由抽象方法和全局常量组成

 |-使用interface关键字

 |-子类要通过implements实现接口,子类如果不是抽象类,则必须覆写抽象类的全部抽象方法

 |-一个子类可以实现多个接口

 |-接口不能继承一个抽象类,但允许继承多个接口