抽象類(lèi)的特點(diǎn):
- 抽象方法一定在抽象類(lèi)中。
- 抽象方法和抽象類(lèi)都必須被abstract關(guān)鍵字修飾。
- 抽象類(lèi)不可以用new創(chuàng)建和實(shí)例化對(duì)象。因?yàn)槌橄箢?lèi)本身就是不完整的。
- 抽象類(lèi)中的抽象方法要被使用,必須由子類(lèi)復(fù)寫(xiě)所有的抽象方法后,建立子類(lèi)對(duì)象調(diào)用。
如果子類(lèi)只覆蓋了部分抽象方法,那么該子類(lèi)還是一個(gè)抽象類(lèi)。
抽象類(lèi)和一般類(lèi)沒(méi)有太大的不同。
該如何描述事物,就如何描述事物,只不過(guò),該事物出現(xiàn)了一些看不懂的東西。
這些不確定的部分,也是該事物的功能,需要明確出現(xiàn)。但是無(wú)法定義主體。
通過(guò)抽象方法來(lái)表示。
抽象類(lèi)比一般類(lèi)多個(gè)了抽象函數(shù)。就是在類(lèi)中可以定義抽象方法。
抽象類(lèi)不可以實(shí)例化。
特殊:抽象類(lèi)中可以不定義抽象方法,這樣做僅僅是不讓該類(lèi)建立對(duì)象。
練習(xí):
abstract關(guān)鍵字,和哪些關(guān)鍵字不能共存。
final:被final修飾的類(lèi)不能有子類(lèi)(不能被繼承)。而被abstract修飾的類(lèi)一定是一個(gè)父類(lèi)(一定要被繼承)。
private:抽象類(lèi)中的私有的抽象方法,不被子類(lèi)所知,就無(wú)法被復(fù)寫(xiě)。
而抽象方法出現(xiàn)的就是需要被復(fù)寫(xiě)。
static:如果static可以修飾抽象方法,那么連對(duì)象都省了,直接類(lèi)名調(diào)用就可以了。
可是抽象方法運(yùn)行沒(méi)意義。
抽象類(lèi)中是否有構(gòu)造函數(shù)?
有,抽象類(lèi)是一個(gè)父類(lèi),要給子類(lèi)提供實(shí)例的初始化。
*/abstract?class?Student??//抽象父類(lèi){????abstract?final?void?study();??//抽象方法????//abstract?void?study1();????void?sleep()????{????????System.out.println("躺著");????}}class?AbstractDemo?{????public?static?void?main(String[]?args)?????{????????//new?Student();????????//new?baseStudent().study();????}}
Java技術(shù)相關(guān)內(nèi)容
Java抽象類(lèi):http://www.bjpowernode.com/tutorial_java_advance/609.html
以上就是長(zhǎng)沙中公優(yōu)就業(yè)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“編程技術(shù)分享,Java抽象類(lèi)的作用和使用”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。