1. 使用interface來定義一個接口。接口定義類似類的定義,分為接口的聲明和接口體,其中接口體由常量定義和方法定義兩部分組成。定義接口的基本格式如下:
1 [修飾符] interface 接口名 [extends 父接口名列表]{ 2 [public] [static] [final] 常量; 3 [public] [abstract] 方法; 4 }
修飾符:可選參數public,如果省略,則為默認的訪問權限;
接口名:指定接口的名稱,默認情況下,接口名必須是合法的Java標示符,一般情況下,要求首字符大寫;
extends 父接口名列表:可選參數,指定定義的接口繼承於哪個父接口。當使用extends關鍵字時,父接口名為必選參數。
方法:接口中的方法只有定義而不能有實現
例如:
public interface IStudent { final int X = 10; float getScore(int studentNo); int getStudentAge(int StudentNo); }
2.接口的定義完了,下面就是接口的實現了:
Java實現接口,用implements:
[修飾符] class <類名> [extends 父類名] [implements 接口列表]{ }
修飾符:可選參數,用於指定類的訪問權限,可選值為public、abstract和final。
類名:必選參數,用於指定類的名稱,類名必須是合法的Java標識符。一般情況下,要求首字母大寫。
extends 父類名:可選參數,用於指定要定義的類繼承於哪個父類。當使用extends關鍵字時,父類名為必選參數。
implements 接口列表:可選參數,用於指定該類實現的是哪些接口。當使用implements關鍵字時,接口列表為必選參數。當接口列表中存在多個接口名時,各個接口名之間使用逗號分隔。
1 public class Cire implements CalInterface 2 { 3 public float getArea(float r) 4 { 5 float area=PI*r*r;//計算圓面積並賦值給變量area 6 return area;//返回計算后的圓面積 7 } 8 public float getCircumference(float r) 9 { 10 float circumference=2*PI*r; //計算圓周長並賦值給變量circumference 11 return circumference; //返回計算后的圓周長 12 } 13 public static void main(String[] args) 14 { 15 Cire c = new Cire(); 16 float f = c.getArea(2.0f); 17 System.out.println(Float.toString(f)); 18 } 19 }
在類的繼承中,只能做單重繼承,而實現接口時,一次則可以實現多個接口,每個接口間使用逗號“,”分隔。這時就可能出現常量或方法名沖突的情況,解決該問題時,如果常量沖突,則需要明確指定常量的接口,這可以通過“接口名.常量”實現。如果出現方法沖突時,則只要實現一個方法就可以了。