1. 程式人生 > 其它 >Java中的介面Interface

Java中的介面Interface

技術標籤:java介面jdk

Java中的介面Interface

在java各個版本中介面包含的方法

在java7中,介面包含的內容有:
1.常量
2.抽象方法

在java8中,介面中包含的額外方法有:
3.靜態方法
4.預設方法

在java9中,還包含的額外方法有:
5.私有方法

介面的定義

  1. 介面就是多個類的公共規範
    介面是一種引用資料型別,最重要的內容就是其中的抽象方法
    書寫格式:
    public interface 介面名稱{
    //內容
    }
    例如:
public interface MyInterface {

    public abstract void method();
    
}

備註:換成關鍵字Interface之後,編譯生生的檔案仍然是:.java–>.class

介面的實現步驟(抽象方法)

1.介面不能直接使用,必須有一個“實現類”來實現介面
格式public class 實現類名稱 implements 介面名稱{
//…
}
2.介面的實現類必須覆蓋重寫(實現)介面中所有的抽象方法
實現:去掉abstract關鍵字,加上方法體大括號
3.建立實現類物件,進行使用
步驟

  1. 建立一個實現類類(.java檔案)
  2. 連線介面implements 關鍵字
public class Impl implements Demo1interface {

}

按住Crtl+回車選擇第一項

在這裡插入圖片描述
生成需要實現的介面實現類

  1. 覆蓋重寫抽象類
public class Impl implements Demo1interface {

    @Override
    public void method() {
        System.out.println("這是一個方法");
    }
}

4.建立一個類來實現

public class MainDemo {
    public static void main(String[] args) {
        Impl impl = new Impl();
        impl.method();
    }
}

介面的實現步驟(靜態方法)

從java8開始:介面當中允許定義靜態方法
格式:
public static 返回值型別 方法名稱(){
方法體
}
提示:就是將abstract 或者default 換成static即可,帶上方法體

public interface MyInterfaceStatic {
    public static void methodStatic() {

        System.out.println("這是介面的靜態方法");
    }
}

使用(靜態方法)

直接呼叫,不需要new

    public static void main(String[] args) {

        MyInterfaceStatic.methodStatic();
    }

私有方法(靜態方法)

一定要是jdk9以後的(包括jdk9)

public interface MyIterfaceDemo {
    public static void method1(){
        System.out.println("預設方法1");
        method();
    }
    public static void method2(){
        System.out.println("預設方法2");
        method();
    }
//定義私有方法
    private static void method(){
        System.out.println("AAA");
        System.out.println("BBB");
        System.out.println("CCC");
    }
}

主函式呼叫

public class MyIterfaceDemo1 implements MyIterfaceDemo {
    public static void main(String[] args) {
        MyIterfaceDemo.method1();
        MyIterfaceDemo.method2();
    }
}