- 抽象类和常规类很像,但不能使用new操作符创建它的实例。抽象方法只有定义没有实现。它的实现由子类提供。一个包含抽象方法的类必须声明为抽象类。抽象类的构造方法定义为protected,因为它只被子类使用。创建一个具体子类的实例时,它的父类的构造方法被调用以初始化父类中定义的数据域。
- 接口(interface)是一种与类相似的结构,只包含常量和抽象方法。接口在许多方面都与抽象类很相似,但是它的目的是指明多个对象的共同行为。由于接口中所有的数据域都是public final static 而且所有的方法都是public abstract, 所以Java允许忽略这些修饰符。如果一个类实现了某一接口类,那么这个类就必须实现拥有这个接口类的所有方法和属性,除非这个类是abstract类。