java 接口如何定义
接口的定义
在Java中,接口(Interface)是一种完全抽象的类,用于定义一组方法签名(无具体实现)和常量。接口通过interface关键字声明,语法如下:

public interface InterfaceName {
// 常量(默认是 public static final)
String CONSTANT = "value";
// 抽象方法(默认是 public abstract)
void methodName();
// Java 8+ 默认方法(有实现)
default void defaultMethod() {
System.out.println("Default method");
}
// Java 8+ 静态方法(有实现)
static void staticMethod() {
System.out.println("Static method");
}
}
接口的特性
- 抽象方法:接口中的方法默认是
public abstract,无需显式声明。实现类必须重写这些方法。 - 常量:接口中定义的变量默认是
public static final,即常量。 - 默认方法(Java 8+):使用
default修饰的方法可以有默认实现,实现类可选择是否重写。 - 静态方法(Java 8+):使用
static修饰的方法属于接口本身,通过接口名直接调用。 - 多继承:一个类可以实现多个接口(
implements Interface1, Interface2),解决单继承限制。
示例代码
// 定义接口
public interface Animal {
void eat(); // 抽象方法
default void breathe() { // 默认方法
System.out.println("Breathing...");
}
}
// 实现接口
public class Dog implements Animal {
@Override
public void eat() {
System.out.println("Dog eats bones");
}
}
// 调用
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
dog.eat(); // 输出: Dog eats bones
dog.breathe(); // 输出: Breathing...
}
}
接口与抽象类的区别
- 抽象类:可以包含构造方法、非抽象方法和成员变量,单继承。
- 接口:只能包含抽象方法(Java 8前)、常量、默认方法和静态方法,支持多继承。
接口适用于定义行为规范,抽象类更适合代码复用和部分实现的场景。






