Oracle Javadocs에 따르면 -
기본 메소드를 사용하면 라이브러리의 인터페이스에 새로운 기능을 추가하고 이러한 인터페이스의 이전 버전용으로 작성된 코드와의 바이너리 호환성을 보장할 수 있습니다.
정적 메서드는 객체가 아니라 정의된 클래스와 연결된 메서드입니다. 클래스의 각 인스턴스는 정적 메서드를 공유합니다.
인터페이스의 정적 메서드는 인터페이스의 일부이므로 클래스는 이를 구현하거나 재정의할 수 없지만 클래스는 기본 메서드를 재정의할 수 있습니다.
미스터. 아니요 | 키 | 정적 인터페이스 메소드 | 기본 메소드|
---|---|---|---|
1 | Basic | 정적 메소드는 인터페이스에만 속합니다. 인터페이스 자체에서 이 메소드의 구현을 작성할 수 있습니다. | 이것은 기본 키워드가 있는 메소드이며, 클래스는 이 메소드를 재정의할 수 있습니다. | tr>
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의 기본 인터페이스 메소드와 정적 인터페이스 메소드의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!