Java繼承回顧(二)

2021-07-14 16:19:25 字數 2976 閱讀 8619

public

class

demo2_extends

}/**

* a:不同名的方法

* b:同名的方法

**/class father5

}class son5 extends father5

public

void

print()

}/**

* * * a:什麼是方法重寫

* 重寫:子父類出現了一模一樣的方法(注意:返回值型別可以是子父類,這個我們學完物件導向講)

* b:方法重寫的應用:

* 當子類需要父類的功能,而功能主體子類有自己特有內容時,可以重寫父類中的方法。這樣,即沿襲了父類的功能,又定義了子類特有的內容。

* c:案例演示

* a:定義乙個手機類。*/

class ios7

public

void

siri()

}class ios8 extends ios7

}/**###08.14_物件導向(方法重寫的注意事項)(掌握)

* a:方法重寫注意事項

* a:父類中私有方法不能被重寫

* 因為父類私有方法子類根本就無法繼承

* b:子類重寫父類方法時,訪問許可權不能更低

* 最好就一致

* c:父類靜態方法,子類也必須通過靜態方法進行重寫

* 其實這個算不上方法重寫,但是現象確實如此,至於為什麼算不上方法重寫,多型中我會講解(靜態只能覆蓋靜態)

* 子類重寫父類方法的時候,最好宣告一模一樣。

* b:案例演示

* 方法重寫注意事項

*/class shuangjiang

void paoniu()

public

static

void

print()

}class dayone extends shuangjiang

public

void

paoniu()

/*** * c:父類靜態方法,子類也必須通過靜態方法進行重寫

* 其實這個算不上方法重寫,但是現象確實如此,至於為什麼算不上方法重寫,

* 多型中我會講解(靜態只能覆蓋靜態)

* 非靜態的方法再算重寫

* 子類重寫父類方法的時候,最好宣告一模一樣。*/

public

static

void

print()

}/**

* * a:方法重寫的面試題

* override重寫 overload過載

* override和overload的區別?overload能改變返回值型別嗎?

* overload可以改變返回值型別,只看引數列表

* 方法重寫:子類中出現了和父類中方法宣告一模一樣的方法。與返回值型別有關,返回值是一致(或者是子父類)的

* 方法過載:本類中出現的方法名一樣,引數列表不同的方法。與返回值型別無關。

* 子類物件呼叫方法的時候:

* 先找子類本身,再找父類。

*//**

* a:案例演示

* 使用繼承前的學生和老師案例

* 屬性:姓名,年齡

* 行為:吃飯

* 老師有特有的方法:講課

* 學生有特有的方法:學習*/

class student1

public

student1(string name,int age)

public string getname()

public

void

setname()

public

intgetage()

public

void

setage()

public

void

eat()

public

void

study()

}class teacher1

public

teacher1(string name,int age)

public string getname()

public

void

setname()

public

intgetage()

public

void

setage()

public

void

eat()

public

void

teach()

}/**

* * a:案例演示

* 使用繼承後的學生和老師案例*/

class person

public

person(string name,int age)

public string getname()

public

void

setname(string name)

public

intgetage()

public

void

setage(int age)

public

void

eat()

}class student2 extends person

public

student2(string name,int age)

public

void

study()

}class teacher2 extends person

public

teacher2(string name,int age)

public

void

teach()

public

void

eat()

public

void

eat(string thing)

}

(二)Java的繼承

一,繼承 繼承能夠讓乙個子類類擁有另乙個父類類的屬性和方法。例子 大學生類和學生類之間存在繼承關係 學生類 屬性 姓名 身高 體重 愛好 方法 學習 大學生類 屬性 專業 姓名 身高 體重 愛好 方法 學習 關鍵字 extends 原意 擴充套件延伸 含義 子類在父類的基礎上擴充套件新的屬性 方法。...

java面試回顧

最近去一家公司面試,一道筆試題引起了我的思考 測試建立物件前後變數的初始化過程 author administrator public class demo1 static public demo1 string string private static int print string stri...

C 回顧 繼承和組合

一 組合語法 實際上,我們一直在用組合建立類,只不過是在用內部資料型別或已存在類的物件組合新類。二 繼承語法 在 中和原來一樣給出該類的名字,但在類的左括號的前面,加乙個冒號和基類的名字 對於多重繼承,要給出多個基類名,它們之間用逗號分開 當做完這些時,將會自動地得到基類中的資料成員和成員函式。在繼...