1. 程式人生 > 其它 >介面中私有方法

介面中私有方法

package MyInterFace02;

/**
 * FileName: Inter
 * Author:   lps
 * Date:     2022/4/4 21:18
 * Sign:劉品水 Q:1944900433
 * /**
 *  2  * 問題描述:
 *  3  * 我們需要抽取一個共有方法,用來解決兩個預設方法之間重複程式碼的問題
 *  4  * 但是這個共有方法不應該讓實現類使用,應該是私有化的。
 *  5  *
 *  6  * 解決方案:
 *  7  * 從java 9開始,介面當中允許定義私有方法。
 *  8  * 1、普通私有方法,解決多個預設方法之間重複程式碼問題
 *  9  * 格式:
 * 10  * private 返回值型別方法名稱(引數列表){
 * 11  *     方法體
 * 12  * }
 * 13  * 2、靜態私有方法,解決多個靜態方法之間重複程式碼的問題
 * 14  * 格式:
 * 15  * private static 返回值型別 方法名稱(引數列表){
 * 16  *     方法體
 * 17  * }
 * 18  
 
*/ public interface Inter { private void show(){ System.out.println("初級工程"); System.out.println("中級工程師"); System.out.println("高階工程"); } public default void show1() { System.out.println("show1"); // System.out.println("初級工程"); // System.out.println("中級工程師");
// System.out.println("高階工程"); show(); show2(); System.out.println("========="); method(); } public default void show2() { System.out.println("show2"); // System.out.println("初級工程"); // System.out.println("中級工程師"); // System.out.println("高階工程");
show(); } private static void method(){ System.out.println("初級工程"); System.out.println("中級工程師"); System.out.println("高階工程"); } static void method1(){ System.out.println("method1"); // System.out.println("初級工程"); // System.out.println("中級工程師"); // System.out.println("高階工程"); method(); } static void method2(){ System.out.println("method2"); // System.out.println("初級工程"); // System.out.println("中級工程師"); // System.out.println("高階工程"); method(); } }
public class InterImp implements Inter{

}
package MyInterFace02;

/**
 * FileName: InterDemo
 * Author:   lps
 * Date:     2022/4/4 21:19
 * Sign:劉品水 Q:1944900433
 */
public class InterDemo {
    public static void main(String[] args) {
        Inter i = new InterImp();
        i.show1();
        System.out.println("======");
        i.show2();
        System.out.println("======");
        Inter.method1();
        System.out.println("======");
        Inter.method2();
    }
}