Java 關(guān)于抽象類
抽象類
面向?qū)ο缶幊讨?,所有?duì)象都是通過類來描述的,但是并不是所有的類都有對(duì)應(yīng)的對(duì)象。 比如貓繼承了貓科類,貓科類繼承了動(dòng)物類,但是動(dòng)物類是一個(gè)很抽象的概念,并不會(huì)直接用來 定義對(duì)象,因?yàn)檫@個(gè)類并沒有包括足夠的信息來描繪對(duì)象,甚至只具有一些通用的屬性和行為描 述,卻沒有提供這些通用行為的具體內(nèi)容,所以動(dòng)物類這樣的類被稱作抽象類。
抽象類一般被設(shè)計(jì)出來作為最基礎(chǔ)的類,包含一些通用的基本成員屬性和成員方法。在抽象 類中甚至可以只給出方法的定義而不實(shí)現(xiàn),具體實(shí)現(xiàn)由繼承的子類來完成,這些方法也被稱為抽 象方法。抽象類不能用來將對(duì)象實(shí)例化,所以抽象類的構(gòu)造方法是不能定義為抽象方法的,它的 子類也必須重寫該類的所有抽象方法。
Java提供了abstract關(guān)鍵字來定義一個(gè)抽象類或抽象方法,定義格式如下:
[訪問權(quán)限修飾符]abstract class[類名]
//抽象類示例public abstract class AbstractAnimal{
public String name;
public String color;
public abstract void eat();//抽象方法
public void getDesc() {
System.out.println("這是動(dòng)物抽象類");
}
}
點(diǎn)擊加載更多評(píng)論>>