抽象基础类(抽象类)
建立一种基本形式,使我们可以定义一些在衍生类中通用的东西(可以有属性,方法)
包含抽象方法的类称为抽象类
- 抽象方法:abstract void X();
- 抽象类:abstract className{}
- 抽象类并不要求所有方法都抽象
- 具有抽象方法的类都必须定义为抽象类
接口
接口不是类,接口包含类要实现的方法.实现接口的类如不是抽象类,则必须定义接口中的所有方法.
- 定义接口:
interface X{} - 定义与接口的实现类:
class Y implements X{} - 实现接口的类必须重写接口中的所有方法。(重写,即返回类型,参数列表等必须相同)
接口与类的区别
- 接口不能实例化对象
- 接口没有构造方法
- 接口中所有方法必须抽象
- 接口不能包含成员变量,除static和final
- 接口支持多继承(一个类可以实现多个接口,一个接口也可以继承多个基本接口)