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