在Java中,接口可以包含以下内容:
-
抽象方法: 在Java 8之前,接口只能包含抽象方法的声明,即没有方法体的方法。这些方法由实现接口的类提供具体实现。
javaCopy code
public interface MyInterface { // 抽象方法(无方法体) void abstractMethod(); }
-
默认方法(Default Methods): Java 8引入了默认方法的概念,允许在接口中提供具有默认实现的方法。这使得可以向已存在的接口中添加新的方法而不会破坏现有实现。
javaCopy code
public interface MyInterface { // 抽象方法 void abstractMethod(); // 默认方法 default void defaultMethod() { System.out.println("This is a default method."); } }
-
静态方法(Static Methods): Java 8还引入了接口中的静态方法,这是一种在接口中提供与接口关联的工具方法的方式。这些方法可以直接通过接口名称调用,而不需要实例化接口。
javaCopy code
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."); } }
-
常量(Constants): Java 9引入了接口中的私有静态常量,允许在接口中定义私有的常量,并通过接口名称访问。
javaCopy code
public interface MyInterface { // 公共常量 int PUBLIC_CONSTANT = 42; // 静态方法 static void staticMethod() { System.out.println("This is a static method."); } // 私有常量 private static final String PRIVATE_CONSTANT = "Hello, World!"; }
总体而言,Java中的接口可以包含抽象方法、默认方法、静态方法以及私有常量。这些特性使得接口成为定义契约和实现多继承的强大工具。