接口定義了一個新的引用類型??梢允褂媒涌陬愋蛠砺暶髯兞?,在方法中聲明參數(shù)類型,作為方法的返回類型等。
interface Shape {
void draw();
}
public class Main {
// interface type as instance variable
private Shape myShape;
// interface type as parameter type for a constructor
public Main(Shape s) {
this.myShape = s;
}
// interface type as return type of a method
public Shape getShape() {
return this.myShape;
}
// interface type as parameter type for a method
public void setShape(Shape s) {
this.myShape = s;
}
public void letItSwim() {
// interface type as a local variable
Shape locaShape = null;
locaShape = this.myShape;
// interface variable can invoke methods
// declared in the interface and the Object class
locaShape.draw();
}
}
接口類型的變量是指其類實現(xiàn)該接口的內(nèi)存中的對象。使用接口類型的變量或直接使用接口名稱來訪問接口中聲明的任何常量字段。
最好使用接口名訪問接口的常量。使用接口類型的變量來調(diào)用接口中聲明的任何方法。接口類型的變量可以調(diào)用java.lang.Object
類的任何方法。
默認情況下,接口類型的實例或靜態(tài)變量將初始化為null
。