包含抽象方法的類叫做抽象類。如果乙個類包含乙個或多個抽象方法,該類必須被限定為抽象的。
如果從乙個抽象類繼承,並想建立改新類的物件,那麼就必須為基類中的所有抽象方法提供方法定義。
如果不這樣做(可以選擇不做),那麼匯出類便也是抽象類,並且編譯器會強制我們使用abstract關鍵字來限定這個類。
建立抽象類和抽象方法非常有用,因為它們可以使類的抽象性明確起來,並告訴使用者和編譯器打算怎樣來使用它們。
抽象類還是很有用的重構工具,因為它們使得我們可以很容易得將公共方法沿著繼承層次結構向上移動。
介面被用來建立類與類之間的協議。
建立介面用關鍵字inte***ce,可以在inte***ce關鍵字前面新增public關鍵字(但僅限於該介面在於其同名的檔案中被定義)。如果不新增public關鍵字,則它只具有寶訪問許可權,這樣它就只能在同乙個包內可用。
介面也可以包含域,但是這些域隱式地是static和final的。
使用介面的核心原因:為了能夠向上轉型為多個基型別(以及由此而帶來的靈活性)。
第二個原因是與使用抽象基類相同:防止客戶端程式員建立該類的物件,並確保這僅僅是建立乙個介面。
Java 介面和抽象類
介面,inte ce,介面泛指供別人呼叫的方法和函式。介面的形式 public inte ce inte cename 介面的特點 1 介面中可以含有變數和方法。2 其中變數被隱式的指定為public static final 變數並且只能是這種變數。3 介面的方法隱式的指定為public abst...
java抽象類和介面
抽象類 乙個類中只要有乙個抽象方法 那麼這個類就必須是抽像的 抽象類必須要進行例項化 public abstract class animal class cat extends animal 介面 從本質上講介面是一種特殊的抽象類 介面中所有的方法都是抽象的 並且介面中的成員都是public 介面...
Java抽象類和介面
含有abstract修飾符的class即為抽象類,abstract類不能建立的例項物件。含有abstract方法的類必須定義為abstract class,abstract class類中的方法不必是抽象的。abstract class 類中定義抽象方法必須在具體 concrete 子類中實現,所以...