每日一言
Being strong on your own is meaningless. To have power you need other people, and they need a world where they can be at their best. — Shiroe from Log Horizon
Java 接口
Java编程语言中是一个抽象类型,是抽象方法的集合。
- 接口中的所有方法默认是public abstract 的
- 接口中的所有变量默认是
public static final的常量 - 接口不能被实例化,需要由类来实现
- 一个类可以实现多个接口
- 接口可以继承其他接口
接口的声明
[访问修饰符] interface <_name> [exdends <name>,<name>,...]{ //可以继承多个接口
// 声明变量
// 抽象方法
}
public interface InterfaceName {
// 常量定义
type CONSTANT_NAME = value;
// 抽象方法
returnType methodName(parameterList);
// Java 8 后可定义默认方法
default returnType methodName(parameterList) {
// 方法体
}
// Java 8 后可定义静态方法
static returnType methodName(parameterList) {
// 方法体
}
// Java 9 后可定义私有方法
private returnType methodName(parameterList) {
// 方法体
}
}
接口的实现
类可以实现接口:
public class ClassName implements InterfaceName {
// 必须实现接口中定义的所有抽象方法
@Override
public returnType methodName(parameterList) {
// 实现代码
}
}
类实现接口时,必须要实现接口中所有的抽象方法,默认方法可以不实现。否则必须要声明为抽象类。
java中类可以一次实现多个接口。
public class MyClass implements Interface1, Interface2, Interface3 {
// 必须实现所有接口中的方法
@Override
public void method1() {
// Interface1的方法实现
}
@Override
public void method2() {
// Interface2的方法实现
}
@Override
public void method3() {
// Interface3的方法实现
}
}
接口的继承
接口的继承与类相似,但是可以同时继承多个接口,而类一次只能继承一个父类。
public interface Hockey extends Sports, Event