2011年4月29日 星期五

[Java] What is an interface in Java

Java Interface:
1. 由於Java沒有Class多重繼承,為了讓物件具有多種型態,可以用Interface(介面)的達到多重繼承的需求。
2. 介面方法宣告預設都是"public",有沒有加public預設仍是public。
3. 介面宣告預設都是abstract,有沒有加abstract預設仍是abstract。
4. 當定義類別時,可以使用"implements"關鍵字來指定要實作哪個介面,介面中所有定義的方法都要實作。
5. 由於介面中的方法預設都是public,所以實作介面的類別中,方法必須宣告為public,否則無法通過編譯。


public interface IRequest {
  public abstract void execute(); // 可以用 void execute(); 省略public或abstract,其意義相同。
} 

public class HelloRequest implements IRequest {
  private String name;
  public HelloRequest(String name) 
  {
    this.name = name;
  }

  public void execute() {
    System.out.printf("Hello! %s!%n", name);
  }
} 

實作多個介面的方式: 

public class 類別名稱 implements 介面1, 介面2, 介面3 { 
    // 介面實作 
}

介面進行繼承的方式: 

public interface 名稱 extends 介面1, 介面2 { 
    // ... 
} 


References:

沒有留言:

張貼留言