抽象類與接口的差別
1. 共同點
都可以包含抽象方法;
2. 差別
抽象類是一種“類”,是使用class作為關鍵字來聲明的;而接口是另一種資料,是使用interface作為關鍵字來聲明的;
抽象類中可以有各種權限不同、修飾符不同的屬性,也可以包含普通方法、抽象方法,或者完全沒有普通方法,或者完全沒有抽象方法;而接口中的所有成員都是public的,所有屬性都是static、final的,在JDK 1.8之前,所有的方法都是抽象的;
普通的類與抽象類的關系是“繼承”的關系,當普通的類繼承了抽象類後,就有義務重寫抽象類中的抽象方法,在Java語句中,類之間的繼承是1對1的關系;普通的類與接口的關系是”實作“的關系,當普通的類實作了接口後,也有義務重寫接口中的所有抽象方法,類與接口的實作關系是1對多的,即1個類可以同時實作若幹個接口;接口與接口之間也可以存在繼承關系,且是1對多的關系,即某1個接口可以同時繼承若幹個接口;
3. 使用心得 / 裝
類,是描述”類别“的;接口,是描述形為模式、行為特征、規範、标準的!
類與類之間是is a的關系;類與接口之間是has a的關系。
public class Person { public String name; }
public class Student extends Person {}
public class Teacher extends Person {}
public class Animal { }
public class Cat extends Animal {}
public interface 學習 { void 學習(某參數); }
public interface 授課 {}
public interface 駕駛 { void 駕駛(某參數); }
public class Person implements 學習, 授課, 駕駛 {}
Person 張三 = new Person();
Person 李四 = new Person();
附1:Eclipse常用快捷鍵
