類是對一類事物的抽象,好比:老師,學生java
繼承的本質是對類的抽象(父類是對子類的抽象),好比:它把老師類,學生類抽象出了人,人這個類擁有學生和老師類的共同特徵,是一個更高的類code
我以爲不如這樣說:在這裏,像人這樣更高的類被稱爲父類,像學生,老師這樣更低的類被稱爲子類對象
因此父類是不少子類的抽象,他擁有子類的共同特徵,因而可讓子類繼承父類的全部財產,並擴展本身的特色,因此子類即擁有父類的全部特色,又擁有自身獨有的特色繼承
extends關鍵字:我理解爲繼承,子類繼承父類,用extends來表示class
繼承是類和類之間的關係,除此以外,類和類之間的關係還有依賴,組合,聚合等擴展
舉例說明:object
人(父類)方法
public class Person { public int money; public void say(){ System.out.println("說了一句話"); } }
學生(子類)static
//空的 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中只有單繼承,沒有多繼承,類能夠直接的繼承一個,但能夠間接的繼承多個。