1.抽象类特征
- 抽象类不能被直接实例化。
- 抽象类的子类必须实现父类所有的抽象方法,除非子类也是抽象类。
- 抽象类里可以有普通方法,也可以没有抽象方法,但是抽象方法的类必须是抽象类。
- 一个类可以实现多个接口。
2.接口特征
- 接口只有方法的声明,没有方法的实现。
- 与类不同的是,接口可以继承多个接口。
- 接口中可以有成员变量,默认的修饰符是 public static fianl ,接口中的方法必须用public 修饰。
- 接口可以继承其他接口,实现接口合并的功能。
3.抽象类与接口的区别
- 抽象类更侧重于对相似的类进行抽象,形成抽象的父类以提供子类继承使用,而接口在程序设计时,用于定义模块于模块之间应满足的规约,使各模块之间能协调工作。
- 抽象类可以有普通方法,接口不可以有普通方法。
- 抽象类成员变量的默认修饰符是default, 而接口中成员变量的默认修饰符是public static final.
- 抽象类不能多重继承,而接口可以实现多重继承。