java基礎之抽象類

2021-08-30 09:04:30 字數 1313 閱讀 3583

抽象類

普通類可以直接產生例項化物件,並且在普通類之中可以包含有構造方法,普通方法、常量、變數等內容。而所謂的抽象類就是指在普通類的結構裡面增加抽象方法的組成部分。

所有的普通方法上面都會有乙個「{}」,該符號表示方法體,有方法體的方法一定可以被物件直接使用。而抽象方法指的是沒有方法體的方法,同時抽象方法還必須使用abstract關鍵字定義。

擁有抽象方法的類一定屬於抽象類,抽象類要使用abstract宣告。

抽象類不能例項化。(類一旦被例項化則就可以呼叫類中的方法或屬性,但是在抽象類中,沒有方法,所以抽象類就不能被例項化。)

抽象類的使用規則:

抽象類必須有子類。即:每乙個抽象類要被子類所繼承。

抽象類的子類(子類不是抽象類)必須要覆寫抽象類中所有的抽象方法、(乙個子類只能繼承乙個抽象類,單繼承)

抽象類的例項化需要依靠子類完成,採用向上轉型的方法處理。

抽象類的相關限制

(1)由於抽象類裡面會存在一些屬性,那麼在抽象類之中一定存在構造方法,其目的是為屬性初始化。並且子類物件例項化的時候,依然滿足於先執行父類構造,再呼叫子類構造的情況。

(2)抽象類不能夠使用final定義,因為抽象類必須有子類,而final定義的類不能夠有子類。

(3) 外部類不允許使用static宣告,而內部的抽象類允許static宣告。使用static宣告的內部抽象類就相當於是乙個外部抽象類,繼承的時候使用「外部類.內部類」的形式表示類名稱。

(4)在任何情況下,如果要執行類中的static方法的時候,都可以在沒有例項化物件的時候直接呼叫。對於抽象類也是一樣。

程式分析:

abstract class a

public abstract void print();

}

class b extends a

public void print()

}

public class testdemo

}

程式輸出結果:num = 0;

分析:

在任何乙個類的構造執行完之前,所有屬性的內容都是其對應資料型別的預設值。子類構造方法之前,一定先執行父類的構造方法。

java基礎之 抽象類

抽象類 抽象方法只有宣告,沒有實現時,該方法就是抽象方法,需要被abstract修飾,抽象方法必須定義在抽象類中,抽象類需要被abstract修飾。抽象類不可以被例項化。抽象類必須被其子類重寫後,該子類才可以例項化。否則這個子類還是抽象類。抽象類也有構造方法,用於給子類物件進行初始化 抽象類可以不定...

java基礎之抽象類

格式 修飾符 abstract 返回值型別 函式名 引數列表 abstract class 犬科 class 狗 extends 犬科 class 狼 extends 犬科 抽象類的一些解釋 1,抽象類中有建構函式嗎?有,用於給子類物件進行初始化。2,抽象類可以不定義抽象方法嗎?可以的。但是很少見,...

java基礎之抽象類

1 抽象類 也是類,相比普通類而言,多了可以定義抽象方法 2 抽象方法 就是有功能名字,沒有功能實現。3 抽象方法有什麼用?有時候,類中有一些功能不能確定具體怎麼完成,就可以定義為抽象的方法 抽象和具體不是一定的 由需求,由客戶決定 定義抽象類語法 abstract class 類名 抽象方法的語法...