java----詳聊介面 interface
阿新 • • 發佈:2021-01-25
介面 interface
- 介面能被 public 關鍵字修飾, 可以被任何類訪問.
public interface Inter0124 {
}
- 介面預設不寫訪問許可權, 只能被本包中的類訪問.
interface Inter0124 {
}
- 介面中的資料成員預設是 public final 關鍵字修飾的, 並且必須初始化.
介面中的成員方法預設是 public abstract 關鍵字修飾的, 不能有方法體.
這些預設的關鍵字可以不寫, 也可以寫.
interface Inter0124 { public final int a = 1; public abstract void fun1(); }
interface Inter0124 {
int a = 1;
void fun1();
}
- 某個類實現介面的方法使用關鍵字 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"); } }
- 介面也可以繼承介面, 繼承時只能繼承一個介面.
可以重寫父類介面的方法, 也可以不寫 (兩個介面在 4 中).
public interface Inter0124_2 extends Inter0124{
@Override
void fun1();
void fun2();
}
- 介面中可以有 main 方法 (兩個介面在 4 中).
public interface Inter0124_2 extends Inter0124{
void fun2();
static void main(String[] args) {
System.out.println("靜態方法");
A0124 a0124 = new A0124();
a0124.fun1();
}
}
執行結果: