20220721 袁清清 學習筆記
java學習序列7
今日重點
**繼承**
**super關鍵字**
**方法的重寫**
繼承
類與類之間的關系
1.屬性關系
2.參數關系
3.繼承關系
繼承——extends
繼承核心是擴展父類功能
JAVA中繼承只有單繼承,只有一個直接父類,可以有多個間接父類,繼承父類的屬性,方法
創(chuàng)建構造器,實例化的過程,當一個類被實例化,先實例化他的父類,直接父類,然后是他自己
舉例說明
點擊查看代碼
class Sum{
Integer age;
String name;
public void sum(){
}
public Sum(Integer age, String name) {
this.age = age;
this.name = name;
System.out.println("sum");
}
}
class Cat extends Sum{
public void eat(){
}
public Cat(Integer age, String name) {
super(age, name);
System.out.println("cat");
}
}
class Person extends Cat{
public Person(Integer age, String name) {
super(age, name);
System.out.println("person");
}
}
class Mao extends Cat{
public Mao(Integer age, String name) {
super(age, name);
System.out.println("mao");
}
}
public class Test1 {
public static void main(String[] args) {
// Sum s=new Sum(1,"1");
// s.age=0;
// Cat c=new Cat(1,"1");
// c.sum();
// Person p=new Person(1,"1");
// Mao m=new Mao(1,"1");
// m.eat();
Mao m=new Mao(1,"1");
}
}
super關鍵字
代表調用父親的結構(屬性,方法,構造器)
當子類中使用super調用父類構造器時,super(age)必須在第一行或第一句話
在當前類中使用this調用本類的構造器時,this(name)必須是第一句話
在構造器中,如果需要使用super或this調用其他構造器,只能二選一, 而且必須在第一位
super指向的父類,不代表任何對象
this指向的本類,代表當前類的對象,方法的調用者
this可以代表對象,super不行
this和super區(qū)別
this調用當前類
super調用父類
this可以省略,super也可以省略(先在本類找,沒有,去父類找)
this可以調本類構造器this(age),super調父類構造器
super調用父類構造器時,必須在第一行,和this沖突,2選1
this指向本類,代表對象;super指向父類,不能代表對象
方法的重寫
方法的重寫,我們可以利用到父類中方法已經運算后的結果,在結果的基礎上進行
方法的重寫,體現的就是繼承的核心,就是為了擴展父類的功能
方法的重寫的規(guī)則:前提是繼承和被繼承的關系
1.訪問權限:重寫的方法的權限不能低于被重寫的權限,開發(fā)中一般都是等于
2.返回值類型:重寫的方法的返回值可以和被重寫的方法不同,但是必須是被
3.方法名:必須相同
4.參數列表:必須相同
5.拋出異常:重寫的方法不能拋出比被重寫的方法更大的異常
子類重寫父類的方法
點擊查看代碼
class Sum{
Integer age;
String name;
public Sum(Integer age, String name) {
this.age = age;
this.name = name;
System.out.println("sum");
}
public void sum(){
System.out.println("sum+=");
}
}
class Cat extends Sum{
public Cat(Integer age, String name) {
super(age, name);
System.out.println("cat");
}
public void eat(){
}
public void sum(){
super.sum();
System.out.println("cat+=");
}
}
今日總結
今天學習的知識點還是比較簡單的,只是銀行卡和借記卡的練習對我來說太難了,還得慢慢學

浙公網安備 33010602011771號