Java接口作爲類型
接口定義了一個新的引用類型。可以使用接口類型來聲明變量,在方法中聲明參數類型,作爲方法的返回類型等。
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();
}
}
接口類型的變量是指其類實現該接口的內存中的對象。使用接口類型的變量或直接使用接口名稱來訪問接口中聲明的任何常量字段。
最好使用接口名訪問接口的常量。使用接口類型的變量來調用接口中聲明的任何方法。接口類型的變量可以調用java.lang.Object
類的任何方法。
默認情況下,接口類型的實例或靜態變量將初始化爲null
。