父類和子類,就例如:老子和兒子,有著父子關(guān)系。而這里指的父子關(guān)系,其實也就是一種包含關(guān)系。打個比方,在我們現(xiàn)實生活中,學生Student是一個很大的概念,而U_Student大學生是屬于學生中的一種,這里的學生即為父類,大學生即為子類。
十多年的施甸網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整施甸建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“施甸網(wǎng)站設計”,“施甸網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
父類和子類區(qū)別在哪?
學生和大學生都會有學習Study這個方法,但是大學生還會有自己特有的Study方法,兩者還是有一定區(qū)別的,大學生的學習相較于其他學生來說,是更自由的。假如現(xiàn)在已經(jīng)有一個學生(Student)類,然后我還要寫一個大學生(U_Student)類,然后大學生UStudent類里有很多方法和Student里的方法都相同,但是還是有一小部分不同,怎樣解決呢?難道還要重新寫一個大學生類,并且重復敲一遍和學生類中一樣的代碼嗎?那樣浪費了時間和精力,并且浪費了存儲空間,是很不劃算的。所以,就有了“繼承”。
子類繼承父類,就是子類能引用父類中的某些東西。繼承的關(guān)鍵字是extends,
例如:
public class Student(){}//父類
public class U_Student extends Student(){}//子類繼承了父類
當子類和父類用一個同名方法,但是子類的實現(xiàn)卻和父類不同,用到"方法重寫"。
重寫是指方法定義相同,但是實現(xiàn)不同,存在于父子類之間。
例如:
//父類
public class Student(){
//學習方法
public void study(){
System.out.println("我通過聽老師講課學習");
}
}
//子類
public class UStudent extends Student(){
public void study(){
System.out.println("我通過自習去學習");
}
}
1、繼承是面向?qū)ο笞铒@著的一個特性。繼承是從已有的類中派生出新的類,新的類能吸收已有類的數(shù)據(jù)屬性和行為,并能擴展新的能力。
2、有繼承關(guān)系的類才能分出哪個是父類,哪個是子類,繼承用extends關(guān)鍵字,extends后面的類則表示父類,extends前面的類則是子類。在java中所有的類都默認繼承Object類,Object類是所有類的父類。
3、直接繼承Object的類可以稱之為Object的子類,間接繼承Object的類可以稱之為object的間接子類,object則是它的間接父類或者超類。
示例:
public class Parent{
}
public class Child extends Parent{
}
對Parent、Child來說有繼承關(guān)系,則Parent是Child的父類,Child是Parent的子類。由于Parent、Child都默認繼承Object類,所有Parent、Child都是Object的子類。
父類是相對而言的
比如有個類A
有個類B
class
B
extends
A
那么B就叫A的子類
A就叫B的父類
所有的類默認繼承自Object類,也就是JAVA里的基類