在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