java如何写接口代码
Java接口的基本写法
接口在Java中通过interface关键字定义,可以包含抽象方法、默认方法、静态方法和常量。接口不能被实例化,只能由类实现。
public interface MyInterface {
// 抽象方法
void abstractMethod();
// 默认方法
default void defaultMethod() {
System.out.println("This is a default method.");
}
// 静态方法
static void staticMethod() {
System.out.println("This is a static method.");
}
// 常量
String CONSTANT = "This is a constant";
}
实现接口的类
类通过implements关键字实现接口,必须实现接口中的所有抽象方法。
public class MyClass implements MyInterface {
@Override
public void abstractMethod() {
System.out.println("Implementation of abstractMethod");
}
}
使用接口
可以通过接口引用指向实现类的对象,调用接口中的方法。
public class Main {
public static void main(String[] args) {
MyInterface obj = new MyClass();
obj.abstractMethod();
obj.defaultMethod();
MyInterface.staticMethod();
System.out.println(MyInterface.CONSTANT);
}
}
接口的多继承
Java支持接口的多继承,一个接口可以继承多个父接口。
public interface InterfaceA {
void methodA();
}
public interface InterfaceB {
void methodB();
}
public interface InterfaceC extends InterfaceA, InterfaceB {
void methodC();
}
public class MyClass implements InterfaceC {
@Override
public void methodA() {
System.out.println("Method A");
}
@Override
public void methodB() {
System.out.println("Method B");
}
@Override
public void methodC() {
System.out.println("Method C");
}
}
函数式接口
函数式接口是只有一个抽象方法的接口,可以用@FunctionalInterface注解标记。
@FunctionalInterface
public interface MyFunctionalInterface {
void execute();
}
public class Main {
public static void main(String[] args) {
MyFunctionalInterface func = () -> System.out.println("Executing functional interface");
func.execute();
}
}
接口的默认方法和静态方法
Java 8引入了默认方法和静态方法,允许在接口中提供方法实现。
public interface Calculator {
int add(int a, int b);
default int subtract(int a, int b) {
return a - b;
}
static int multiply(int a, int b) {
return a * b;
}
}
public class BasicCalculator implements Calculator {
@Override
public int add(int a, int b) {
return a + b;
}
}
public class Main {
public static void main(String[] args) {
Calculator calc = new BasicCalculator();
System.out.println(calc.add(5, 3));
System.out.println(calc.subtract(5, 3));
System.out.println(Calculator.multiply(5, 3));
}
}
接口中的私有方法
Java 9引入了接口中的私有方法,用于减少代码重复。

public interface Logger {
default void logInfo(String message) {
log("INFO", message);
}
default void logError(String message) {
log("ERROR", message);
}
private void log(String level, String message) {
System.out.println(level + ": " + message);
}
}






