java中如何定义接口
定义接口的基本语法
在Java中,接口使用interface关键字定义。基本语法如下:
public interface InterfaceName {
// 常量声明(默认 public static final)
String CONSTANT = "value";
// 方法声明(默认 public abstract)
void methodName();
}
接口的组成部分
接口可以包含以下成员:
- 抽象方法:没有方法体的方法声明,实现类必须提供具体实现。
- 默认方法(Java 8+):使用
default关键字定义,提供默认实现。 - 静态方法(Java 8+):使用
static关键字定义,可以直接通过接口名调用。 - 私有方法(Java 9+):使用
private关键字定义,仅供接口内部使用。 - 常量:隐式修饰为
public static final。
示例代码:
public interface Vehicle {
// 抽象方法
void start();
// 默认方法
default void stop() {
System.out.println("Vehicle stopped");
}
// 静态方法
static void honk() {
System.out.println("Honk!");
}
// 常量
String TYPE = "Transport";
}
接口的实现
类通过implements关键字实现接口,必须实现所有抽象方法(除非是抽象类)。
public class Car implements Vehicle {
@Override
public void start() {
System.out.println("Car started");
}
}
接口的多继承
Java支持一个类实现多个接口,用逗号分隔。
public class SmartCar implements Vehicle, Electric {
@Override
public void start() {
System.out.println("SmartCar started");
}
@Override
public void charge() {
System.out.println("Charging...");
}
}
接口的继承
接口可以继承其他接口,使用extends关键字。
public interface Electric {
void charge();
}
public interface Autonomous extends Electric {
void selfDrive();
}
函数式接口(Java 8+)
只有一个抽象方法的接口称为函数式接口,可用@FunctionalInterface注解标记。
@FunctionalInterface
public interface Calculator {
int calculate(int a, int b);
}






