java基礎學習-抽象類、接口

抽象類


什麼是抽象類

通過繼承它實現多態,後期綁定,可以爲將來要實現的東西做好接口,實現重用性

抽象類語法

public abstract class Fruit {

	public void eat(){
		System.out.println(" eat ");
	}
	
	public abstract void buy();
}

使用了abstract關鍵字所修飾的  類叫做抽象類。
如果一個類包含了抽象方法,那麼這個類一定是抽象類。
如果某個類是抽象類,那麼該類可以包含具體方法(有聲明、有實現)

抽象類規則

抽象類無法實例化,也就是說,不能new出來一個抽象類的對象(實例)
在子類繼承父類(父類是個抽象類)的情況下,那麼該子類必須要實現父類中所定義的所有抽象方法;否則,該子類需要聲明成一個abstract class。
如果一個類中包含了抽象方法,那麼這個類一定要聲明成abstract  class,也就是說,該類一定是抽象類;反之,如果某個類是抽象類,那麼該類既可以包含抽象方法,也可以包含具體方法

抽象方法

使用abstract關鍵字所修飾的方法叫做抽象方法。抽象方法需要定義在抽象類中。相對於抽象方法,之前所定義的方法叫做具體方法(有聲明,有實現)。

接口


什麼是接口

可以講接口看成特殊的抽象類,抽象類可以是抽象方法與具體方法,而接口只能抽象方法

接口語法

public interface IFruit {

	public void eat();
	
	abstract void buy();
}

interface
接口interface的地位等同於class,接口中的所有方法都是抽象法。在聲明接口中的方法時,可以使用 abstract關鍵字,也可以不使用。通常情況下,都會省略掉 abstract

接口規則

接口必須是public,屬性和方法都是public,屬性是static,final
多態是通過繼承來體現,而接口是通過實現來體現,實現者必須實現所有抽象方法除非它是抽象類
Java是單繼承的,也就說某個類只能有唯一父;可以實現多個接口,用逗號隔開
關於接口與實現的類之間強制類型轉換方式與父和子之間的強完全一樣
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章