对比 | abstract | interface |
---|---|---|
变量 | static, final,一般变量 | 默认变量都为static final |
方法 | 抽象方法, 一般方法 | 抽象方法, JDK1.8之后可存在static方法和default方法 |
可用修饰词 | private, protected, public | public(默认), default(修饰有方法体的方法) |
实现方式 | extends(单继承) | implements(可多实现) |
总结:
abstract 共享通用代码 (包括数据成员和方法)
interface 共享通用行为 (仅有方法头)