介面與抽象類 總結
同都是不斷向上抽取而來的
異1 抽象類需要被繼承 而且只能單繼承 介面需要被實現 而且可以多實現
2 抽象類中可以定義抽象方法和非抽象方法 子類繼承可以直接使用非抽象方法
而介面必須定義抽象方法 必須由子類去實現
3 抽象類的繼承是所有關係 定義該體系的基本共性內容 比如 程式設計師 經理都是雇員
介面的實現是like a 實現 定義體系額外功能 比如學生有學習功能但抽菸功能是額外功能啊
以筆記本usb介面為例討論
為何滑鼠 u盤都可以接筆記本
究其原因無非是 usb介面是定義好的規則 其他裝置只要按照這個規則去設計就可以讓筆記本使用
該裝置 而介面規則的具體實現在不同裝置是完全可以自己定義的
package cn.abstracttest;
inte***ce usb
//使用介面讓裝置與 電腦 的耦合性就較低了
//實現規則
class usbmouse implements usb
public void close()
}//實現規則 多實現同乙個規則
class usbpan implements usb
public void close()
}public class bookpc
//使用規則
public static void useusb(usb u)
//介面型別的引用,用於接收指向介面的子類物件(多型)
}
2018 11 05 介面和抽象類
一 抽象類 抽象方法碧血用abstract關鍵字進行修飾。如果乙個類含有抽象方法,則稱這個類為抽象類,抽象類必須在類前用abstract關鍵字修飾。抽象類中沒有具體實現的方法,所以不能用抽象類建立物件。抽象類就是為了繼承而存在的,如果你定義了乙個抽象類,卻不去繼承它,那麼等於百變建立了這個抽象類,因...
java學習(7) 介面
介面定義的是一種抽象的規範,介面裡不能包含構造器和初始化塊的定義。介面裡可以包含成員變數 只能是靜態常量 方法 抽象方法 類方法 或者預設方法 內部類。介面裡定義的方法只能是抽象方法 類方法 或者預設方法,定義介面裡的普通方法總是預設使用public abstract修飾,所以介面裡的普通方法不能有...
設計模式學習筆記 4 介面和抽象類
介面和抽象類的區別 抽象類和介面的意義 抽象類是對成員變數和方法的抽象,是一種is a 關係,是為了解決 復用問題,介面僅僅是方法的抽象,是一種has a 關係,表示具有某種行為特性,是為了解決解耦問題,如何決定使用抽象類還是介面 基於介面 抽象 而非實現程式設計 越抽象,越脫離具體某一細節的設計,...