다음은 Java 9 인터페이스에서 개인 메서드를 사용하는 방법을 보여주는 예입니다. −
예
interface my_int{ public abstract void multiply_vals(int a, int b); public default void add_vals(int a, int b){ sub_vals(a, b); System.out.print("Default method result "); System.out.println(a + b); } private void sub_vals(int a, int b){ System.out.print("Private method result "); System.out.println(a - b); } private static void div(int a, int b){ System.out.print(" Private static method result "); System.out.println(a / b); } } public class my_new_int implements my_int{ @Override public void multiply_vals(int a, int b){ System.out.print("Abstract method result "); System.out.println(a * b); } public static void main(String[] args){ my_int in = new my_new_int(); in.multiply_vals(11, 34); in.add_vals(78, 0); } }
출력
Abstract method result 374 Private method result 78 Default method result 78
본문 없이 추상 기능만 있는 'my_int'라는 인터페이스가 정의되어 있습니다. 기본적으로 두 개의 숫자를 더하는 또 다른 기본 함수가 정의되어 있습니다. 두 숫자를 빼는 'sub_vals'라는 또 다른 함수가 정의되어 있습니다.
두 값을 나누는 div라는 다른 정적 함수가 정의되어 있습니다. 'my_new_int'라는 클래스는 이전에 정의된 인터페이스를 구현합니다. 값을 곱하고 재정의하는 함수를 재정의합니다. 메인 함수에서 인터페이스의 인스턴스가 생성되고 특정 값을 전달하여 'multiply_vals' 함수가 호출됩니다. 마찬가지로 'add_vals' 함수도 특정 값을 전달하여 호출됩니다. 각 출력은 콘솔에 표시됩니다.