java中的抽象類abstract關鍵字

2021-07-24 10:29:25 字數 1634 閱讀 5434

抽象類的應用場景:

我們在描述一類事物的時候,發現該種事物確實存在著某種行為,

但是這種行為目前是不具體的,那麼我們可以抽取這種行為 的宣告,但是

不去實現該種行為,這時候這種行為我們稱作為抽象的行為,我們就需要使用抽象類。

抽象類的好處: 強制要求子類一定要實現指定的方法。

抽象類要注意的細節:

1. 如果乙個函式沒有方法體,那麼該函式必須要使用abstract修飾,把該函式修飾成抽象 的函式。。

2. 如果乙個類出現了抽象的函式,那麼該類也必須 使用abstract修飾。

3. 如果乙個非抽象類繼承了抽象類,那麼必須要把抽象類的所有抽象方法全部實現。

4. 抽象類可以存在非抽象方法,也可以存在抽象的方法.

5. 抽象類可以不存在抽象方法的。 

5. 抽象類是不能建立物件的。

疑問:為什麼抽象類不能建立物件呢?

因為抽象類是存在抽象方法的,如果能讓抽象類建立物件的話,那麼使用抽象的物件呼叫抽象方法是沒有任何意義的。

6. 抽象類是存在建構函式的,其建構函式是提供給子類建立物件的時候初始化父類的屬性的。

//動物類--->抽象類

abstract class animal

//非抽象的方法

public void eat()

//移動...

public abstract void run();

}//狗 是屬於動物中一種

class dog extends animal

public void run()

}//魚 是屬於動物中一種

class fish extends animal

public void run()

}class demo3

}

執行結果

abstract不能與以下關鍵字共同修飾乙個方法:

1. abstract不能與private共同修飾乙個方法。

2. abstract 不能與static共同修飾乙個方法。

3. abstract 不能與final共同修飾乙個方法。

需求: 描述乙個圖形、圓形、 矩形三個類。不管哪種圖形都會具備計算面積

與周長的行為,但是每種圖形計算的方式不一致而已。

//圖形類

abstract class myshape

public abstract void getarea();

public abstract void getlength();

}//圓形 是屬於圖形類的一種

class circle extends myshape

public void getarea()

public void getlength()

}//矩形 屬於圖形中的 一種

class rect extends myshape

public void getarea()

public void getlength()

}class demo4

}

執行結果

java中的抽象類

抽象類是指類被修飾符abstract修飾的類。抽象類不能夠建立物件。抽象方法是只有方法名,沒有方法體,沒有具體的實現。含有抽象方法的類一定是抽象類!抽象的動物類 public abstract class animal在繼承關係中,子類繼承抽象的父類,如果在子類中沒有實現父類的抽象方法,則子類一定是...

java 中的抽象類

在自上而下的繼承層次結構中,位於上層的類更具有通用性,甚至可能更加抽象。從某種角度看,祖先類更加通用,它只包含一些最基本的成員,人們只將它作為派生其他類的基類,而不會用來建立物件。甚至,可以只給出方法的定義而不實現,由子類根據具體需求來具體實現。這種只給出方法定義而不具體實現的方法被稱為抽象方法ab...

Java中的抽象類

抽象類定義 1 語法定義 抽象類錢使用abstract關鍵字修飾,則該類為抽象類。2 應用場景 a 在某些情況下,某個父類只是知道其子類應該包含怎樣的方法,但無法準確知道這些子類如何實現這些方法 抽象類約束子類必須有哪些方法,但並不關注子類怎麼去實現這些方法。當多個類中出現相同功能,但是功能主體不同...