JAVA中的介面

2021-08-18 09:05:33 字數 2384 閱讀 6044

一.介面的概念

1.介面中可以規定方法的原型:方法名、引數列表以及返回型別,但不規定方法主體

2.也可以包含基本資料型別的資料成員,但它們都預設為static和final

二.介面的作用:

1.繼承多個設計

2.建立類與類之間的"協議":將類根據其實現功能分組用介面代表,而不必顧慮它所在的類繼承層次;這樣可以最大限度的利用動態繫結,隱藏實現細節;

3.使用不同類之間的常量共享

三.介面的語法:

1.宣告格式為:inte***ce 介面名稱 [extends 父介面名]

2.介面的資料成員一定要有初值,但此值不能再更改,

可以省略final關鍵字。

3.介面中的方法必須是"抽象方法",不能有方法體,可以省略public及abstract關鍵字.

栗子:介面宣告

inte***ce shape2d   //宣告shape2d介面

inte***ce shape2d    //允許省略一些關鍵字

四.實現介面:利用介面設計類的過程,稱為介面的實現,使用implements關鍵字

語法:public class 類名 implements 介面名稱

注意:必須實現介面中的所有方法,來自介面的方法必須宣告成public

栗子:實現介面shape2d

class circle implements shape2d

public double area()

}

class rectangle implements shape2d

public double area()

}

public class test   //介面測試類

}//執行結果:

// area of rect = 30.0

// area of cir = 12.56

栗子:介面型別的引用變數

public class test

}//執行結果:

// area of rect = 30.0

// area of cir = 12.56

五.實現多個介面:通過這種機制可以實現對設計的多重繼承

語法: [類修飾符] class 類名 implements 介面1,介面2....

栗子:通過實現介面達到多重繼承

宣告circle類實現介面shape2d和color

shape2d具有常量pi,area()方法用來計算面積;

color則具有setcolor方法,可用來賦值顏色;

通過實現這兩個介面,circle類得以同時擁有著兩個介面的成員,達到了對設計進行多重繼承的目的

inte***ce shpae2d    //宣告shape2d介面

inte***ce color

class circle implements shape2d,color

public double area() //實現area()方法

public void setcolor(string str) //實現setcolor()方法

}

public class test  

}

六.介面的擴充套件

1.實現乙個介面的類也必須實現其超介面中的方法

2.介面擴充套件的語法

inte***ce 子介面的名稱 extends 超口的名稱1,超口的名稱2...  

栗子:介面的擴充套件

inte***ce shape

inte***ce shape2d extends shape//宣告shape2d介面繼承了shape介面

class circle implements shape2d

public double area() //實現area()方法

public void setcolor(string str) //實現setcolor()方法

}

public class test

}

java中的介面

當乙個類的方法就都是抽象的時候,這時可以將該類用另一種形式表示,就是用介面inte ce 對於介面中常見的成員 而且這些成員都是有固定的修飾符的。全域性常量 public static final 抽象方法 public abstract 介面中的成員都是公共許可權 public 注意 介面不能被例...

java中的介面

1.關鍵字 inte ce 2.介面裡邊的方法都不可以實現 程式如下 inte ce printer 介面 void open void close class hp implements printer 類實現了介面 void open system.out.println hp open voi...

Java中的介面

關鍵字 inte ce inte ce 介面名介面相當於定義了乙個規則 要想使用這個介面 就必須遵循這個規則public class demo 介面中只能宣告抽象方法 如果你宣告乙個方法 沒寫 abstract 系統會預設幫你加上 建議 建議你先寫上 等寫熟了再說 介面沒有構造方法 不能直接例項化物...