public interface 接口名称 { // 抽象方法 // 默认方法 // 静态方法 // 私有方法 }
final: 关键字,表示终态的意思,如果修饰变量,该变量就变成常量
常量:使用public static final
接口中的常量有默认修饰符:public static final 可以省略
接口的实现
非抽象子类实现接口:
-
必须重写接口中所有抽象方法。
-
继承了接口的默认方法,即可以直接调用,也可以重写。
class 类名 implements 接口名 { // 重写接口中抽象方法【必须】 // 重写接口中默认方法【可选】 }
接口中定义抽象方法
抽象方法:没有方法体的方法,并且使用abstract关键字修饰
默认修饰符:public abstract 可以省略
public abstract 返回值类型 方法名(形参);
接口中定义默认方法--有方法体的方法
public default 返回值类型 方法名(形参){ 方法体 }
接口中静态方法的定义
静态方法:使用 static
修饰,供接口直接调用。
public static 返回值类型 方法名(形参){ 方法体 }
接口中定义私有方法
私有非静态方法
private 返回值类型 方法名(形参){ 方法体 }
私有静态方法
Private static 返回值类型 方法名(形参){ 方法体 }
接口的特点
接口就是一种引用数据类型
接口中只能定义常量和方法(抽象方法,静态方法,默认方法,私有方法)
接口不能定义成员变量和构造方法
接口不能创建对象,只能通过其实现类来使用