Interface
成员变量
默认并只能是 public static final
类型,(省略也是)
成员方法
默认是 public abstract
,(省略也是)
JDK7以前:只能抽象方法
JDK8:可以定义有方法体的方法 {}
,方法也可以是 static
的,也可以是 default
的
JDK9:可以定义私有方法 private
(如此就必须得写方法体了)
接口的继承
1 | public interface Hockey extends Sports, Event |
多个接口的方法同名,强制重写
标记性接口
接口里没有任何抽象方法
abstract class 抽象类
1 | abstract class Animal { |
必须由子类 Override 抽象方法(否则子类也必须是抽象类)
抽象方法是可选的,抽象方法出现在的类 只能是抽象类