| 类Class | 抽象类(abstract class) | 接口(Interface) |
方法实现 | 既可以实现,也可以不实现 | 不可以实现 | 不实现 |
成员变量 | 有 | 有 | 无 |
实例化 | 可以 | 不可以 | 不可以 |
继承 | 可以继承一个类,多个接口 | 可以继承一个类,多个接口 | 可以继承多个接口(合并) |
成员函数 | 有 | 有未实现的成员函数 | 未实现的成员函数 |
抽象 |
| 是特征的抽象 | 是行为的抽象 |
接口(interface)是抽象类的变体.接口中,所有的方法都是抽象的.多继承性可以通过实现这样的接口而获得.接口中的所有方法都是抽象的,没有一个有程序题,接口只可以定义static final成员变量.接口的实现于子类类似,除了该实现类不能从接口定义中继承行为.当类实现特殊的接口是,他定义所有这种接口的方法.然后,他可以在实现了该接口的类的任何对象上调用接口的方法.由于抽象类,他允许使用接口作为引用变量类型.
抽象类声明一些方法而不去实现的类叫做抽象类(abstractclass),它主要是用来创建一些基本行为的类并为给类声明方法,但不能给他创建实例.可以创建变量并且让他指向具体的子类的一个实例.不能由抽象构造函数或抽象静态方法.Abstract 类的子为他们父类中的所有抽象方法提供实现,否则他们也是抽象类.子类中实现该抽象方法.知道其行为的其他类可以在类中实现这些方法.