不同点
抽象 | 接口 |
---|---|
只能继承一个抽象类可以 | 可以由多个接口 |
可以有构造方法 | 不能有 |
普通成员变量 | 没有 |
普通方法 | 必须是抽象的 |
抽象方法的访问类型可以是public,protected | 抽象方法只能是public |
包含静态方法 | 不能包含 |
静态成员变量可以任意 | 只能public static final |
主要在代码中,实现代码的重用在架构设计方法发挥作用 | ,主要定义模块之间的通信契约 |
相同点
1、都不能被实例化
2、接口的实现类或抽象类的子类 都只有实现了接口或抽象类中的方法后才能实例化
不同点
抽象 | 接口 |
---|---|
只能继承一个抽象类可以 | 可以由多个接口 |
可以有构造方法 | 不能有 |
普通成员变量 | 没有 |
普通方法 | 必须是抽象的 |
抽象方法的访问类型可以是public,protected | 抽象方法只能是public |
包含静态方法 | 不能包含 |
静态成员变量可以任意 | 只能public static final |
主要在代码中,实现代码的重用在架构设计方法发挥作用 | ,主要定义模块之间的通信契约 |
相同点
1、都不能被实例化
2、接口的实现类或抽象类的子类 都只有实现了接口或抽象类中的方法后才能实例化