1. 程式人生 > >Java筆記2(多型和介面)

Java筆記2(多型和介面)

 

1.多型(一種現象)

繼承是多型的實現基礎

 多型:即物件的多種形態

1.引用多型

  父類的引用可以指向本類物件

  父類的引用可以指向子類物件

這就是引用多型

2.方法多型

 建立本類物件時,呼叫的方法為本來的方法

建立子類物件時,呼叫的方法為子類重寫的方法或繼承的方法

 

二.介面

什麼是介面呢???

介面可以理解為一種特殊的類,由全域性常量和公共的抽象方法所組成

如果說類是一種具體實現體,那麼介面就是某些類所要遵循的規範,介面只是一種規範,不關心類的內部資料和方法實現的細節,它只規定類中必須有什麼東西,是用來約束類的。用interface關鍵字定義介面

要注意的是介面一般都是用來被繼承,被實現的。修飾符一般用public,不用protected和private修飾介面

介面中全是常量和抽象方法

問題來了,怎麼去使用介面呢??

一個類可以實現一個或多個介面,實現介面使用implements 關鍵字。。。我們知道Java中一個類只能繼承一個父類,這樣是不是很不靈活,那麼就可以通過介面進行補充

這裡需要 注意的是繼承和介面的實現順序是不能互換的,也就是必須先繼承再實現介面,還有就是實現介面時,同樣也要實現接口裡的方法

下面看一個介面實現的例子

//介面
package ClassDemo1;

public interface IWatch { public void watch(); } //Woker類 package ClassDemo1; public class Woker implements IWatch{ @Override public void watch() { System.out.println("我們都有一雙明亮的眼睛"); } } //Student類 package ClassDemo1; public class
Student extends Person implements IWatch{ public void say() { System.out.println("學生會說不同的語言"); } public void watch() { System.out.println("我們也有一雙明亮的眼睛"); } } //測試類、 package ClassDemo1; public class Main { public static void main(String[] args) { IWatch i=new Woker(); //用介面引用指向實現介面的物件 IWatch j=new Student(); i.watch(); j.watch(); } }
View Code

另外附上測試結果