繼承
-
類是對一類事物的抽象,比如:老師,學生
繼承的本質是對類的抽象(父類是對子類的抽象),比如:它把老師類,學生類抽象出了人,人這個類擁有學生和老師類的共同特征,是一個更高的類
我覺得不如這樣說:在這里,像人這樣更高的類被稱為父類,像學生,老師這樣更低的類被稱為子類
所以父類是很多子類的抽象,他擁有子類的共同特征,于是可以讓子類繼承父類的所有財產,并擴展自己的特點,所以子類即擁有父類的所有特點,又擁有自身獨有的特點
-
extends關鍵字:我理解為繼承,子類繼承父類,用extends來表示
-
繼承是類和類之間的關系,除此之外,類和類之間的關系還有依賴,組合,聚合等
舉例說明:
人(父類)
public class Person {
public int money;
public void say(){
System.out.println("說了一句話");
}
}
學生(子類)
//空的
public class student extends Person {
}
執行類:
//student類中明明什么都沒寫,但是呼叫到了say方法,說明student類繼承了Person類,子類會繼承父類的所有財產,除此之外,他自己還有自己的方法,屬性,它拓展了父類
public class zhixing {
public static void main(String[] args) {
student student = new student();
student.say();
}
}
-
開啟繼承樹的快捷鍵:點在一個類中,Ctrl+H,類的繼承關系樹狀圖就展示出來了
在Java中,所有的類都默認直接或間接繼承object類
-
我們現在要思考一個問題:
按照繼承,我們只有繼承了一個類,才會擁有這個類的財產(方法和屬性),那為什么我們好像并沒有繼承什么類,但我們的類就可以呼叫很多我們不知道的方法,這些方法是哪里來的吶?
-
回答:原來在Java中,所有的類都默認直接或間接的繼承object類,object類就是所有類的父類,是對所有子類的抽象,也就是Java中所有的類,抽取出他們的共同特性,所以我們的類默認都是繼承object類的,我們可以呼叫的屬性方法也都是屬于object類
-
我們還要思考一個問題:為什么我們沒有創建物件,就不能呼叫object類中的一些屬性和方法吶?
-
回答:因為只有靜態(static)的屬性和方法才可以直接被類呼叫,非靜態的屬性和方法都需要new一個物件,才可以被呼叫
-
-
Java中只有單繼承,沒有多繼承,類可以直接的繼承一個,但可以間接的繼承多個,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/255050.html
標籤:Java
上一篇:SpringMVC 通過commons-fileupload實作檔案上傳
下一篇:Java陣列模擬佇列 + 優化
