java抽象類和接口

抽象類和抽象方法

在java中,對象是由類進行描繪的,但是並不是所有的類都可以new對象,如果一個類不能實例化對象,我們把這種類稱爲抽象類。
抽象方法是抽象類中的一個特別的成員方法,抽象方法特點是沒有方法體;
抽象類和抽象方法都要用abstract修飾

abstract class Animal{			//抽象類
	public abstract void run(); / /抽象方法沒有方法體
}
class Dog extends Animal{
	public void run(){				//抽象方法的實現
	}
}
抽象類的特徵:
  1. 不能實例化對象,抽象類必須被繼承才能用,
  2. 一個類只能繼承一個抽象類(只能單繼承)
  3. 抽象類的修飾符不能是private(privat不能被繼承)
抽象方法:
  1. 抽象類中不一定由抽象方法,但是有抽象方法的類一定是抽象類。
  2. 構造方法,static修飾的方法不能修飾爲抽象方法
  3. 抽象類的最後一個子類必須實現抽象類中的的所有抽象方法。多層次繼承,抽象類的繼承也可以是一個抽象類。
  4. 抽象方法的修飾符不能是private

接口

在java中,我們只能使用單繼承,那麼想要同時使用多個類的方法該怎麼做呢,這就要用到接口了。
抽象類不一定全是抽象方法,還可以有一些自己的方法和屬性,但是在接口中,只能存在抽象方法。

接口是若干常量和抽象方法的集合

接口是比抽象類更抽象的抽象類。接口規定一個類必須做什麼而不管它如何去做。
接口中的成員變量默認修飾是public static final,所以在定義時可以省略。

接口的特性:
  1. 接口只定義抽象方法。默認修飾符pubilc abstract。
  2. 接口中不能定義變量,靜態方法,非抽象的方法。
  3. 接口沒有構造方法,也不能被實例化。
  4. 接口不能實現另一個接口,但是類可以實現多個接口。
接口的使用:
  1. 接口必須通過類來實現他的方法。
  2. 如果一個類不餓能實現完接口中的抽象方法,也就是還有抽象方法。那麼我們應該將之定義爲抽象類。
  3. 不能創建接口的實例,但是可以定義接口類型的引用變量引用實現接口類的實例
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章