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