1. 程式人生 > >java面向對象(抽象類)

java面向對象(抽象類)

淘寶網站 軟件 -s 淘寶手機 都是 但是 就是 調用 結束

一.抽象類的概念

在面向對象的概念中,所有的對象都是通過類來描繪的,但是反過來,並不是所有的類都是用來描繪對象的,如果一個類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類就是抽象類。

方法功能聲明相同,但方法功能主體不同。那麽這時也可以抽取,但只抽取方法聲明,不抽取方法主體。那麽此方法就是一個抽象方法。

當定義了抽象函數的類也必須被abstract關鍵字修飾,被abstract關鍵字修飾的類是抽象類。

二.抽象類和抽象方法的定義

//抽象方法定義的格式:
public abstract 返回值類型 方法名(參數);
//抽象類定義的格式:
abstract class 類名 {
}

//
研發部員工 abstract class Developer { public abstract void work();//抽象函數。需要abstract修飾,並分號;結束 } //JavaEE工程師 class JavaEE extends Developer{ public void work() { System.out.println("正在研發淘寶網站"); } } //Android工程師 class Android extends Developer { public void work() { System.out.println(
"正在研發淘寶手機客戶端軟件"); } }

三.抽象類的特點

1.抽象類和抽象方法都需要被abstract修飾。抽象方法一定要定義在抽象類中。

2.抽象類不可以直接創建對象,原因:調用抽象方法沒有意義。

3.只有覆蓋了抽象類中所有的抽象方法後,其子類才可以創建對象。否則該子類還是一個抽象類。

之所以繼承抽象類,更多的是在思想,是面對共性類型操作會更簡單。

四.抽象類總結

1. 抽象類不能被實例化,如果被實例化,就會報錯,編譯無法通過。只有抽象類的非抽象子類可以創建對象。

2. 抽象類中不一定包含抽象方法,但是有抽象方法的類必定是抽象類。

3. 抽象類中的抽象方法只是聲明,不包含方法體,就是不給出方法的具體實現也就是方法的具體功能。

4. 構造方法,類方法(用static修飾的方法)不能聲明為抽象方法。

5. 抽象類的子類必須給出抽象類中的抽象方法的具體實現,除非該子類也是抽象類。

java面向對象(抽象類)