更新時間:2020-07-31 16:06:31 來源:動力節(jié)點 瀏覽2272次
方法的重寫
方法的重寫概念
方法的重寫:也叫方法的覆蓋;其就是在子類重寫一個與父類名字一樣且參數(shù)列表相同的方法。以及返回值與修飾符也需要遵循一定規(guī)則。
方法重寫的規(guī)則
相同的方法名
相同的參數(shù)列表(參數(shù)數(shù)量、參數(shù)類型、參數(shù)順序都要相同)
相同的返回值類型
子類重寫方法的訪問權限要不小于父類中被重寫方法的訪問權限
案例
方法重寫
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);
?}
}
抽象類
抽象類概念
在面向對象的概念中,所有的對象都是通過類來描繪的,但是反過來,并不是所有的類都是用來描繪對象的,如果一個類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類就是抽象類。
抽象類除了不能實例化對象之外,類的其它功能依然存在,成員變量、成員方法和構造方法的定義方式和普通類一樣。
由于抽象類不能實例化對象,所以抽象類必須被繼承,才能被使用。也是因為這個原因,通常在設計階段決定要不要設計抽象類。
父類包含了子類集合的常見的方法,但是由于父類本身是抽象的,所以不能使用這些方法。
在Java中只支持單繼承,所以一個類只能繼承一個抽象類。
抽象類是抽象方法和非抽象方法的集合
抽象類的特殊情況
全部是抽象方法
全部為非抽象方法
案例
用abstract關鍵字修飾的類,我們稱之為抽象類。
public?abstract?class?Animal{
}
//其中?abstract?和權限修飾符的位置可以互換。
抽象方法概念
如果你想設計這樣一個類,該類包含一個特別的成員方法,該方法的具體實現(xiàn)由它的子類確定,那么你可以在父類中聲明該方法為抽象方法。
abstract關鍵字同樣可以用來聲明抽象方法,抽象方法只包含一個方法名,而沒有方法體,方法名后面直接跟一個分號,而不是花括號。
抽象方法語法
訪問權限修飾符abstract返回值類型抽象方法名(參數(shù)列表);
案例
抽象方法
abstract?class?A?{
?abstract?int?method1(int?a,?int?b);
}
抽象類的規(guī)則
在下列情況下,一個類必須聲明為抽象類
當一個類的一個或多個方法是抽象方法時;
當類是一個抽象類的子類,并且沒有實現(xiàn)父類的所有抽象方法,即只實現(xiàn)部分;
當一個類實現(xiàn)一個接口,并且不能為全部抽象方法都提供實現(xiàn)時;
abstract關鍵字不能和final、private、static關鍵字共存
以上就是動力節(jié)點java培訓機構的小編針對“編程基礎技術分析Java方法重寫和覆蓋”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。