Java 8中默认接口方法和静态接口方法的区别

Java 8中默认接口方法和静态接口方法的区别

根据 Oracle 的 Javadocs -

默认方法使您能够向库的接口添加新功能,并确保与为这些接口的旧版本编写的代码的二进制兼容性。

静态方法是与定义它的类相关联的方法,而不是与任何对象相关联的方法。类的每个实例共享其静态方法。

接口中的静态方法是接口的一部分,类不能实现或重写它,而类可以重写默认方法。

默认方法 tr>
先生。否按键静态接口方法
1

基本

静态方法,仅属于接口。我们可以在接口本身中编写该方法的实现

这是一个带有default关键字的方法,类可以重写该方法

2

方法调用

静态方法只能在接口类上调用,不能在类上调用。

它可以在接口上调用,也可以在类上调用

3

方法名称

接口和实现类,两者可以有同名的静态方法,且不会互相覆盖。

我们可以重写实现类中的默认方法

4.

用例

它可以用作实用方法

它可用于在所有实现类中提供通用功能

接口中默认方法和静态方法示例

public interface DefaultStaticExampleInterface {
   default void show() {
      System.out.println("In Java 8- default method - DefaultStaticExampleInterface");
   }
   static void display() {
      System.out.println("In DefaultStaticExampleInterface I");
   }
}
public class DefaultStaticExampleClass implements DefaultStaticExampleInterface {
}
public class Main {
   static void main(String args[]) {
      // Call interface static method on Interface
      DefaultStaticExampleInterface.display();
      DefaultStaticExampleClass defaultStaticExampleClass = new DefaultStaticExampleClass();
     
      // Call default method on Class
      defaultStaticExampleClass.show();
   }
}

以上就是Java 8中默认接口方法和静态接口方法的区别的详细内容,更多请关注其它相关文章!