點(diǎn)擊查看:2015計(jì)算機(jī)等級(jí)考試二級(jí)Java入門(mén)教程章節(jié)匯總
點(diǎn)擊查看:2015計(jì)算機(jī)等級(jí)考試二級(jí)Java入門(mén)教程第六章匯總
6.6 抽象類
在類Animal中,我們介紹了sound()方法的一個(gè)版本,該方法沒(méi)有任何內(nèi)容,這是因?yàn)槲覀兿朐谧宇悓?duì)象中動(dòng)態(tài)地調(diào)用sound{)方法。在一般的類Animal中,方法sound()沒(méi)有任何意義,所以實(shí)現(xiàn)它也沒(méi)有什么意義,這種情況經(jīng)常出現(xiàn)在面向?qū)ο蟮某绦蛟O(shè)計(jì)中。你會(huì)經(jīng)常發(fā)現(xiàn)你自己建立了一個(gè)超類,利用多態(tài)性從這里你會(huì)派生許多的子類。
Java用抽象類( abstract classes)來(lái)處理這種情況。一個(gè)抽象類就是有一個(gè)或者多個(gè)方法只被聲明,而沒(méi)有被定義的類。這些方法體被省略的原因是如同本例中的類Animal的方法sound()一樣,實(shí)現(xiàn)它沒(méi)有什么意義。由于沒(méi)有定義它們的內(nèi)容,所以把它們稱作抽象方法(abstract methods ).抽象方法的聲明以分號(hào)結(jié)束,并且用關(guān)鍵字abstract來(lái)說(shuō)明它以標(biāo)識(shí)它為抽象方法。為了定義一個(gè)抽象類,你要在類名的前面使用關(guān)鍵字abstract.
通過(guò)下面語(yǔ)句的修改,我們可以把類Animal定義成一個(gè)抽象類:
public abstract class Animal
{
public abstract void Round(); //Abstract method
public Animal(String Atype)
{
type=new String(aType);
{
public String toString()
{
Return .This is a+type
{
private String type;
上面這個(gè)程序在做這些改動(dòng)后仍然能夠正常地運(yùn)行。至于放在類名前面的是publicabstract還是abstract public并沒(méi)有關(guān)系,這兩種形式完全等價(jià),但是應(yīng)該在你的應(yīng)用中保持一致。人們普遍比較喜歡public abstract順序。抽象方法的聲明也是一樣,但是public和abstract都必須提前到返回類型說(shuō)明之前,在本例中的返回類型為void。
相關(guān)推薦:
2015計(jì)算機(jī)等級(jí)考試二級(jí)Java入門(mén)教程章節(jié)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |