抽象类通常用来表示一个类族最顶层的父类,最底层的类表示现实中具体事物,最顶层的类表示该类族所有事物的共性
因为父类不知道子类中的方法怎么实现,所以要定义成抽象的
没有方法体的方法是抽象方法
含抽象方法的类一定是抽象类 子类、父类都可以是抽象类
接口(抽象方法和常量值的集合)比抽象类更严格,不能有非抽象方法,是一种特殊的抽象类
类不能继承接口,因此,接口只能近似地看作类
类可以实现(implements)接口,当一个类实现了一个接口时,类能得到接口中全部成员,因此与继承相似
多个无关的类可以实现同一个接口;一个类可以实现多个无关的接口
类只能继承一个类,接口可以继承多个接口(多继承),即在一定程度上弥补了JAVA不能多继承的缺憾
抽象类:一类事物(如:交通工具Vehicle); 接口:事物的特性(如:会移动的Movable) |