位置:首頁(yè) > 軟件操作教程 > 編程開(kāi)發(fā) > Java > 問(wèn)題詳情

Java 關(guān)于抽象類(lèi)

提問(wèn)人:劉旭39發(fā)布時(shí)間:2020-11-26

抽象類(lèi)

面向?qū)ο缶幊讨?,所有?duì)象都是通過(guò)類(lèi)來(lái)描述的,但是并不是所有的類(lèi)都有對(duì)應(yīng)的對(duì)象。 比如貓繼承了貓科類(lèi),貓科類(lèi)繼承了動(dòng)物類(lèi),但是動(dòng)物類(lèi)是一個(gè)很抽象的概念,并不會(huì)直接用來(lái) 定義對(duì)象,因?yàn)檫@個(gè)類(lèi)并沒(méi)有包括足夠的信息來(lái)描繪對(duì)象,甚至只具有一些通用的屬性和行為描 述,卻沒(méi)有提供這些通用行為的具體內(nèi)容,所以動(dòng)物類(lèi)這樣的類(lèi)被稱(chēng)作抽象類(lèi)。

抽象類(lèi)一般被設(shè)計(jì)出來(lái)作為最基礎(chǔ)的類(lèi),包含一些通用的基本成員屬性和成員方法。在抽象 類(lèi)中甚至可以只給出方法的定義而不實(shí)現(xiàn),具體實(shí)現(xiàn)由繼承的子類(lèi)來(lái)完成,這些方法也被稱(chēng)為抽 象方法。抽象類(lèi)不能用來(lái)將對(duì)象實(shí)例化,所以抽象類(lèi)的構(gòu)造方法是不能定義為抽象方法的,它的 子類(lèi)也必須重寫(xiě)該類(lèi)的所有抽象方法。

Java提供了abstract關(guān)鍵字來(lái)定義一個(gè)抽象類(lèi)或抽象方法,定義格式如下:

[訪問(wèn)權(quán)限修飾符]abstract class[類(lèi)名]

//抽象類(lèi)示例
public abstract class AbstractAnimal{
public String name;
public String color;
public abstract void eat();//抽象方法
public void getDesc() {
System.out.println("這是動(dòng)物抽象類(lèi)");
}
}5L97(P0$O5N0R9%P6RIKGBI.png

繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部