在面向對象設計中,越處於繼承結構頂層的類,就越概括,越抽象。
修飾的方法: 這種方法會成爲一種抽象方法.
抽象方法一定要讓子類覆蓋並且給予實現的.
抽象類不一定包含抽象方法,但有抽象方法的類一定是抽象類.
abstract 一定不能和 private, static, final 同時使用.
修飾類: 這個類成爲一個抽象類.
抽象類不能創建對象 (構造函數可以被子類繼承).
抽象類可以作爲聲明,引用,編譯時類型,但不可以作爲一個運行時類型.
抽象類是專門供子類繼承用的
Java中用abstract關鍵字修飾方法和類:
抽象方法
只有方法頭,沒有方法體定義,也就是說抽象方法無需實現。
抽象類
由於是一種沒有完全實現的類,抽象類不能實例化
接口(interface):
Java接口是一系列方法的聲明,是一些方法特徵的集合,一個接口只有方法的特徵沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行爲
接口(interface)是Java的四大類型之一
(class, interface, enum, annotation)
接口本質上是一個特殊的抽象類,不能被實例化。
接口是完全抽象的
接口(interface):聲明接口
自動修飾爲 public static final
自動修飾爲 public abstract
接口不能直接實例化,需要加以實現後,才能實例化
接口(interface):常量接口
在常量的定義中,經常把常量定義在接口中,比如:
一個程序沒有常量會變成什麼樣?
比如:
有一個方法a,接收用戶的輸入值,保存數據查看的方式。
有另一個方法b,根據數據的查看方式,顯示相應數據。
沒有常量,程序的穩健性受到影響。
接口(interface):接口的繼承
一個接口可以繼承於另外的一個或多個接口並自動獲得繼承接口中的所有的屬性和方法的定義。
接口(interface):抽象類 vs Interface