Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 기본 메소드를 재정의할 수 있습니까?

<시간/>

인터페이스 Java의 클래스는 클래스와 유사하지만 최종적이고 정적인 추상 메서드와 필드만 포함합니다.

Java8 정적 메서드와 기본 메서드가 인터페이스에 도입되었기 때문입니다. 다른 추상 메소드와 달리 이들은 메소드가 기본 구현을 가질 수 있습니다. 인터페이스에 기본 메소드가 있는 경우 이미 이 인터페이스를 구현하고 있는 클래스에서 이를 오버라이드(본문 제공)할 필요는 없습니다.

즉, 구현 클래스의 개체를 사용하여 인터페이스의 기본 메서드에 액세스할 수 있습니다.

예시

interface MyInterface{  
   public static int num = 100;
   public default void display() {
      System.out.println("display method of MyInterface");
   }
}
public class InterfaceExample implements MyInterface{
   public static void main(String args[]) {
      InterfaceExample obj = new InterfaceExample();
      obj.display();
   }
}

출력

display method of MyInterface

기본 메소드 재정의

구현 클래스에서 인터페이스의 기본 메서드를 재정의할 수 있습니다.

예시

interface MyInterface{  
   public static int num = 100;
   public default void display() {
      System.out.println("display method of MyInterface");
   }
}
public class InterfaceExample implements MyInterface{
   public void display() {
      System.out.println("display method of class");
   }
   public static void main(String args[]) {
      InterfaceExample obj = new InterfaceExample();
      obj.display();
   }
}

출력

display method of class