接口
抽象方法的集合,制定某种规范
没有构造方法
字段(属性)
仅能使用修饰符public static final,全局常量,默认不写
方法
jdk 7,修饰符public abstract,默认不写
jdk8,修饰符public static,静态方法,有方法体,public可省略
修饰符public default,类似 类的实例方法,有方法体,public可省略
jdk9,新增权限修饰符private
实现
一个类可以实现(implements)多个接口
抽象类
本质还是一个类,对子类的通用行为进行了抽象。
有构造方法
字段(属性)
所有修饰符自由使用,没有限制
方法
非抽象方法:与正常的类相同
抽象方法:可使用public、protected、默认等权限修饰符,不能使用static和final,必须写上abstract,没有方法体
继承
一个类只能继承(extends)一个类
其他
没有抽象方法也可以定义为抽象类
有抽象方法必须定义为抽象类