A. java子類繼承父類 ,父類調用子類的屬性和方法嗎
你理解錯了,那是一切皆對象,是子類方法,確實父類對象,我的理解只能到這個程度
B. 在java 中,什麼叫父類,什麼叫子類
父類和子類,就例如:老子和兒子,有著父子關系。而這里指的父子關系,其實也就是一種包含關系。打個比方,在我們現實生活中,學生Student是一個很大的概念,而U_Student大學生是屬於學生中的一種,這里的學生即為父類,大學生即為子類。
父類和子類區別在哪?
學生和大學生都會有學習Study這個方法,但是大學生還會有自己特有的Study方法,兩者還是有一定區別的,大學生的學習相較於其他學生來說,是更自由的。假如現在已經有一個學生(Student)類,然後我還要寫一個大學生(U_Student)類,然後大學生UStudent類里有很多方法和Student里的方法都相同,但是還是有一小部分不同,怎樣解決呢?難道還要重新寫一個大學生類,並且重復敲一遍和學生類中一樣的代碼嗎?那樣浪費了時間和精力,並且浪費了存儲空間,是很不劃算的。所以,就有了「繼承」。
子類繼承父類,就是子類能引用父類中的某些東西。繼承的關鍵字是extends,
例如:
public class Student(){}//父類
public class U_Student extends Student(){}//子類繼承了父類
當子類和父類用一個同名方法,但是子類的實現卻和父類不同,用到"方法重寫"。
重寫是指方法定義相同,但是實現不同,存在於父子類之間。
例如:
//父類
public class Student(){
//學習方法
public void study(){
System.out.println("我通過聽老師講課學習");
}
}
//子類
public class UStudent extends Student(){
public void study(){
System.out.println("我通過自習去學習");
}
}