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

Java 9의 인터페이스에서 개인 메소드에 대한 규칙은 무엇입니까?


Java 9에는 비공개 의 새로운 기능이 추가되었습니다. 방법 인터페이스에 . private 메소드는 private 를 사용하여 정의할 수 있습니다. 수정자. 비공개 비공개 정적 방법 Java 9 의 인터페이스에서 계속.

인터페이스의 비공개 메서드 규칙:

  • 개인 메서드는 인터페이스에 본문이 있다는 것은 인터페이스에서 일반적으로 하는 것처럼 일반적인 추상 메서드로 선언할 수 없다는 것을 의미합니다. 본문 없이 개인 메서드를 선언하려고 하면 "이 메서드에는 세미콜론 대신 본문이 필요합니다'라는 오류가 발생할 수 있습니다. ".
  • 우리는 비공개 를 둘 다 사용할 수 없습니다. 및 추상 인터페이스에서 함께 수정자.
  • 인터페이스의 정적 메서드에서 비공개 메서드에 액세스하려는 경우 해당 메서드를 비공개 정적 메서드로 선언할 수 있습니다. 비정적 에 대한 정적 참조를 만들 수 없기 때문에 방법.
  • 비공개 정적 메서드 비정적에서 사용 컨텍스트는 기본 메서드에서 호출할 수 있음을 의미합니다. 인터페이스에서.

구문

interface <interface-name> {
   private methodName(parameters) {
      // some statements
   }
}

예시

interface TestInterface {
   default void methodOne() {
      System.out.println("This is a Default method One...");
      printValues(); // calling a private method
   }
   default void methodTwo() {
      System.out.println("This is a Default method Two...");
      printValues(); // calling private method...
   }
   private void printValues() { // private method in an interface
      System.out.println("methodOne() called");
      System.out.println("methodTwo() called");
   }
}
public class PrivateMethodInterfaceTest implements TestInterface {
   public static void main(String[] args) {
      TestInterface instance = new PrivateMethodInterfaceTest();
      instance.methodOne();
      instance.methodTwo();
   }
}

출력

This is a Default method One...
methodOne() called
methodTwo() called
This is a Default method Two...
methodOne() called
methodTwo() called