接口(interface)
什么是接口?
-
接口主要用来描述类具有什么功能,而并不给出每个功能的具体实现。
-
接口不是类,是对类的一组需求描述,这些类就是遵从接口描述的统一格式进行定义。
定义接口
定义接口的关键字:interface
接口与类的关系:实现关系(implements)
继承是“is a”的关系,而接口是“like a”的关系,例如空调继承于制冷机,但它同时有加热功能,那么应该把让空调继承制冷机类,并实现加热接口。
基本语法:
// 定义接口
interface 接口名 {
属性;
方法;
}
接口的实现
为了让类实现一个接口,通常需要一下两步:
- 将类声明为实现给定的接口
- 实现接口中的方法
class 类名 implements 接口名 {
属性;
方法;
必须实现接口的抽象方法
}
细节:
- 接口不能被实例化
- 接口中的所有方法是 public 方法,接口中的抽象方法,可以不用 abstract 修饰
- 一个普通类实现接口,就必须将该接口中的所有方法都实现
- 抽象类实现接口,可以不用实现接口的方法
- 一个类可以同时实现多个接口 (Java对单继承的补充)
- 接口中的属性,只能是 final 的,而且默认是 public static final 修饰的。
- 接口中的属性的访问形式:接口名.属性
- 一个接口不能继承其他的类,但可以继承一个或多个别的接口
- 接口的修饰符,只能是 public 和 默认,这点和类的修饰符一样
interface
注意:
-
在 jdk 8 之前,接口中只能声明全局常量(public static final)、抽象方法(public abstract)
-
在 jdk 8 中,接口中可以有静态方法,默认方法(default)
-
在 jdk 9 中,接口中可以有私有方法。
interface IA {
int n = 10; // 成员变量默认是:public static final类型
void m1(); // 默认是 abstract方法
default void ok() { // 默认实现方法,需要使用 default 关键字实现
System.out.println("OK");
}
}
标签:Java,复习,实现,接口,默认,interface,方法,public
From: https://www.cnblogs.com/ai135/p/17518886.html