抽象类:
抽象类是什么?
含有 abstract 修饰符修饰的类
抽象类的特点:
1. 不能创建实例对象
2. 可以有构造方法,但构造方法不能是抽象的
3. 可以有抽象方法
4. 抽象方法必须子类进行实现,如果子类实现部分方法,子类必须是抽象的
接口:
接口是什么?
含有interface修饰符的
接口的特点:
1. 所有的方法必须都是抽象的
2. 所有的方法默认为 public abstract
3. 所有的变量默认为 public static final
区别:
1. 单继承多实现: 一个类可以实现多个接口,但只能继承一个抽象类
2. 构造方法: 抽象类可以有构造方法,接口不能有构造方法(JDK7之前)
3. 成员变量: 抽象类可以普通成员变量,接口只能是常量
4. 方法: 抽象类可以有普通方法,接口的方法只能是抽象的