1. 程式人生 > 其它 >java----詳聊介面 interface

java----詳聊介面 interface

技術標籤:Java語言介面java

介面 interface

  1. 介面能被 public 關鍵字修飾, 可以被任何類訪問.
public interface Inter0124 {
   
}
  1. 介面預設不寫訪問許可權, 只能被本包中的類訪問.
interface Inter0124 {

}
  1. 介面中的資料成員預設是 public final 關鍵字修飾的, 並且必須初始化.
    介面中的成員方法預設是 public abstract 關鍵字修飾的, 不能有方法體.
    這些預設的關鍵字可以不寫, 也可以寫.
interface Inter0124 {
    public final int a = 1;
    public abstract void fun1();
}
interface Inter0124 {
    int a = 1;
    void fun1();
}
  1. 某個類實現介面的方法使用關鍵字 implements , 可以實現多個介面.
    並且該類必須重寫該介面中的所有方法, 因為介面中的方法是抽象方法, 抽 象方法沒有抽象體, 所以必須重寫該方法以實現該方法.

eg1: 實現一個介面

interface Inter0124 {
    void fun1();
}
public class A0124 implements Inter0124{
    @Override
    public void fun1() {
         System.out.println();
    }
}

eg2: 實現多個介面

public interface Inter0124_2 extends Inter0124{
    void fun2();
}
public class A0124 implements Inter0124, Inter0124_2{
    @Override
    public void fun1() {
        System.out.println("fun1");
    }

    @Override
    public void fun2() {
        System.out.println("func2");
    }
}
  1. 介面也可以繼承介面, 繼承時只能繼承一個介面.
    可以重寫父類介面的方法, 也可以不寫 (兩個介面在 4 中).
public interface Inter0124_2 extends Inter0124{
    @Override
    void fun1();
    void fun2();
}
  1. 介面中可以有 main 方法 (兩個介面在 4 中).
public interface Inter0124_2 extends Inter0124{
    void fun2();
    static void main(String[] args) {
        System.out.println("靜態方法");
        A0124 a0124 = new A0124();
        a0124.fun1();
    }
}

執行結果:
在這裡插入圖片描述