Java介面定義與實作
#使用interface定義一個介面。介面定義類似類別的定義,分為介面的宣告和介面體,其中介面體由常數定義和方法定義兩部分組成。
定義介面的基本格式如下: (建議學習:java課程)
[修饰符] interface 接口名 [extends 父接口名列表]{ [public] [static] [final] 常量; [public] [abstract] 方法; }
修飾符:選用參數public,如果省略,可選參數public,如果省略,則為預設的存取權限;
介面名稱:指定介面的名稱,預設情況下,介面名稱必須是合法的Java標示符,一般情況下,要求首字大寫;
extends 父介面名稱清單:選用參數,指定定義的介面繼承於哪個父介面。使用extends關鍵字時,父介面名為必選參數。
方法:介面中的方法只有定義而不能有實作
例如:
public interface IStudent { final int X = 10; float getScore(int studentNo); int getStudentAge(int StudentNo); }
介面的定義完了,以下是接口的實現了:
Java實現接口,用implements:
[修饰符] class <类名> [extends 父类名] [implements 接口列表]{ }
修飾符:可選參數,用於指定類別的存取權限,可選值為public、abstract和final。
類別名稱:必選參數,用來指定類別的名稱,類別名稱必須是合法的Java識別碼。一般情況下,要求首字母大寫。
extends 父類別名稱:選用參數,用於指定要定義的類別繼承於哪個父類別。使用extends關鍵字時,父類別名為必選參數。
implements 介面清單:可選參數,用於指定該類別實作的是哪些介面。 當使用implements關鍵字時,介面清單為必選參數。當介面清單中存在多個介面名稱時,個別介面名稱之間會使用逗號分隔。
public class Cire implements CalInterface { public float getArea(float r) { float area=PI*r*r;//计算圆面积并赋值给变量area return area;//返回计算后的圆面积 } public float getCircumference(float r) { float circumference=2*PI*r; //计算圆周长并赋值给变量circumference return circumference; //返回计算后的圆周长 } public static void main(String[] args) { Cire c = new Cire(); float f = c.getArea(2.0f); System.out.println(Float.toString(f)); } }
在類別的繼承中,只能做單重繼承,而實現接口時,一次則可以實現多個接口,每個接口間使用逗號“,”分隔。
這時就可能出現常數或方法名稱衝突的情況,解決該問題時,如果常數衝突,則需要明確指定常數的接口,這可以透過「接口名.常數」來實現。如果出現方法衝突時,只要實作一個方法就可以了。
以上是java介面可以實現嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!