更新時(shí)間:2020-07-31 16:06:31 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2668次
方法的重寫
方法的重寫概念
方法的重寫:也叫方法的覆蓋;其就是在子類重寫一個(gè)與父類名字一樣且參數(shù)列表相同的方法。以及返回值與修飾符也需要遵循一定規(guī)則。
方法重寫的規(guī)則
相同的方法名
相同的參數(shù)列表(參數(shù)數(shù)量、參數(shù)類型、參數(shù)順序都要相同)
相同的返回值類型
子類重寫方法的訪問權(quán)限要不小于父類中被重寫方法的訪問權(quán)限
案例
方法重寫
class?Rectangle{
?double?length1;
?double?length2;
?Rectangle(double?a?,?double?b)?{
?leng1=a;
?leng2=b;
?}
?Double?area()?{
?System.out.println("The?rectangular?area?is");
?return(leng1*leng2);
?}
}
class?Square?extends?Rectangle?{
?Square(double?a,?double?b)?{
?super(a?,b);
?}
?Double?area()?{
?System.out.println("Inside?area?for?Square.");
?return(length1*length2);
?}
}
抽象類
抽象類概念
在面向?qū)ο蟮母拍钪?,所有的?duì)象都是通過類來描繪的,但是反過來,并不是所有的類都是用來描繪對(duì)象的,如果一個(gè)類中沒有包含足夠的信息來描繪一個(gè)具體的對(duì)象,這樣的類就是抽象類。
抽象類除了不能實(shí)例化對(duì)象之外,類的其它功能依然存在,成員變量、成員方法和構(gòu)造方法的定義方式和普通類一樣。
由于抽象類不能實(shí)例化對(duì)象,所以抽象類必須被繼承,才能被使用。也是因?yàn)檫@個(gè)原因,通常在設(shè)計(jì)階段決定要不要設(shè)計(jì)抽象類。
父類包含了子類集合的常見的方法,但是由于父類本身是抽象的,所以不能使用這些方法。
在Java中只支持單繼承,所以一個(gè)類只能繼承一個(gè)抽象類。
抽象類是抽象方法和非抽象方法的集合
抽象類的特殊情況
全部是抽象方法
全部為非抽象方法
案例
用abstract關(guān)鍵字修飾的類,我們稱之為抽象類。
public?abstract?class?Animal{
}
//其中?abstract?和權(quán)限修飾符的位置可以互換。
抽象方法概念
如果你想設(shè)計(jì)這樣一個(gè)類,該類包含一個(gè)特別的成員方法,該方法的具體實(shí)現(xiàn)由它的子類確定,那么你可以在父類中聲明該方法為抽象方法。
abstract關(guān)鍵字同樣可以用來聲明抽象方法,抽象方法只包含一個(gè)方法名,而沒有方法體,方法名后面直接跟一個(gè)分號(hào),而不是花括號(hào)。
抽象方法語法
訪問權(quán)限修飾符abstract返回值類型抽象方法名(參數(shù)列表);
案例
抽象方法
abstract?class?A?{
?abstract?int?method1(int?a,?int?b);
}
抽象類的規(guī)則
在下列情況下,一個(gè)類必須聲明為抽象類
當(dāng)一個(gè)類的一個(gè)或多個(gè)方法是抽象方法時(shí);
當(dāng)類是一個(gè)抽象類的子類,并且沒有實(shí)現(xiàn)父類的所有抽象方法,即只實(shí)現(xiàn)部分;
當(dāng)一個(gè)類實(shí)現(xiàn)一個(gè)接口,并且不能為全部抽象方法都提供實(shí)現(xiàn)時(shí);
abstract關(guān)鍵字不能和final、private、static關(guān)鍵字共存

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“編程基礎(chǔ)技術(shù)分析Java方法重寫和覆蓋”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)