鍍金池/ 教程/ Java/ Java接口作為類型
Java參數(shù)傳遞
Java靜態(tài)內(nèi)部類
Java final關鍵字
http://www.yiibai.com/java_object_oriented_design/java_inheritan
Java泛型類
Java標準注解
Java接口教程
Java注解
Java枚舉類型
http://www.yiibai.com/java_object_oriented_design/java_class_ins
Java接口實現(xiàn)
Java哈希編碼
Java泛型約束
http://www.yiibai.com/java_object_oriented_design/java_import.ht
Java注解默認值
Java異常拋出
Java不可變對象
Java類基礎
Java接口繼承
Java類方法
Java訪問級別
Java對象克隆
Java初始化塊
Java可變長度參數(shù)
Java接口字段
Java對象相等比較(Equals)
Java實例和靜態(tài)方法
Java繼承方法隱藏(覆蓋)
Java面向對象設計
Java對象finalize()方法
Java抽象類和方法
Java Object類
Java泛型方法和構造函數(shù)
Java枚舉體
Java接口方法
Java this關鍵字
Java注解類型的限制
Java main()方法
Java Enum類
Java注解用法
Java枚舉比較
Java注解類型
Java內(nèi)部類成員
Java繼承和構造函數(shù)
Java類實例化
Java內(nèi)部類類型
Java對象toString()方法
Java finally塊
Java繼承教程
Java自定義異常
Java枚舉值
Java接口作為類型
Java異常類
Java方法覆蓋教程
http://www.yiibai.com/java_object_oriented_design/java_class_bas
Java枚舉方法
Java方法重載
http://www.yiibai.com/java_object_oriented_design/java_interface
Java異常用法
Java內(nèi)部類
Java類成員訪問級別
Java異常處理教程
Java注解反射
Java構造函數(shù)(構造器)
Java導入(import語句的用法)

Java接口作為類型

接口定義了一個新的引用類型??梢允褂媒涌陬愋蛠砺暶髯兞?,在方法中聲明參數(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。