在 Java 中,接口是一种抽象数据类型,它定义了一组方法的规范,但没有具体的实现。接口可以被类实现,一个类可以实现多个接口。接口使用 interface 关键字来定义。
定义接口
接口可以包含方法声明、常量和默认方法。接口中的方法默认是 public abstract 的,常量默认是 public static final 的。
// www.javascriptcn.com code example
public interface MyInterface {
public static final int MAX_COUNT = 100;
void doSomething();
void doAnotherThing();
default void defaultMethod() {
System.out.println("This is a default method.");
}
}实现接口
一个类可以实现一个或多个接口,使用 implements 关键字来实现接口中定义的方法。
// www.javascriptcn.com code example
public class MyClass implements MyInterface {
@Override
public void doSomething() {
System.out.println("Doing something...");
}
@Override
public void doAnotherThing() {
System.out.println("Doing another thing...");
}
}接口之间的继承
接口可以继承其他接口,使用 extends 关键字。
public interface MyExtendedInterface extends MyInterface {
void doExtendedThing();
}接口与抽象类的区别
接口与抽象类都可以定义抽象方法,但是接口只能包含抽象方法和常量,不能包含普通方法和字段。一个类可以实现多个接口,但是只能继承一个抽象类。
总结
接口是 Java 中一种非常重要的机制,它提供了一种规范和约束,可以帮助我们更好地设计和组织代码。通过实现接口,我们可以实现类与类之间的解耦,提高代码的灵活性和可维护性。