在Java中,接口(Interface)是一种定义行为的契约。它使用interface
关键字进行定义,并包含一组抽象方法(没有方法体的方法)。接口中的方法默认是public abstract
的,表示它们是公开的抽象方法。此外,接口还可以包含常量(使用static final
修饰符)和默认方法(使用default
关键字)。
以下是接口的定义和使用示例:
public interface Animal {
// 抽象方法
void eat();
// 默认方法
default void sleep() {
System.out.println("The animal is sleeping.");
}
// 静态常量
static final String SPECIES = "Mammals";
}
要实现一个接口,需要在类中使用implements
关键字。实现接口的类必须提供接口中所有抽象方法的实现。
public class Dog implements Animal {
@Override
public void eat() {
System.out.println("The dog is eating.");
}
}
要使用实现了接口的类,可以通过接口类型进行引用。然后,可以调用接口中定义的方法,这些方法在实现类中具有具体的实现。
public class Main {
public static void main(String[] args) {
// 使用Dog类,它实现了Animal接口
Animal myAnimal = new Dog();
// 调用接口中的抽象方法
myAnimal.eat();
// 调用接口中的默认方法
myAnimal.sleep();
// 访问接口中的静态常量
System.out.println("Animal species: " + Animal.SPECIES);
}
}
输出结果:
The dog is eating.
The animal is sleeping.
Animal species: Mammals