Java中的接口类似于类,但是它仅包含final和static的抽象方法和字段。
在单独的类中,您需要实现此接口并为其所有抽象方法提供主体。
interface MyInterface{ public void demo(); } public class InterfaceExample implements MyInterface{ public void demo() { System.out.println("这是demo方法的实现"); } public static void main(String args[]) { new InterfaceExample().demo(); } }
输出结果
这是demo方法的实现
如果将新方法添加到接口,则需要在实现该接口的所有类中为该方法提供主体
从JSE8开始,Java中引入了默认方法。从那时起,您可以将默认实现写入接口中的特定方法。如果这样做,则无需在已经实现此接口的类中实现这些(默认方法)。
默认方法也称为防御者方法或虚拟扩展方法。您可以使用default关键字将默认方法定义为-
default void display() { System.out.println("这是默认方法"); }
注–接口的所有方法都是公共的,因此无需在显式使用公共之前对其进行使用。
以下Java示例演示了Java中默认方法的用法。
interface sampleInterface{ public void demo(); default void display() { System.out.println("这是默认方法"); } } public class DefaultMethodExample implements sampleInterface{ public void demo() { System.out.println("这是demo方法的实现"); } public static void main(String args[]) { DefaultMethodExample obj = new DefaultMethodExample(); obj.demo(); obj.display(); } }
输出结果
这是demo方法的实现 这是默认方法