1. 程式人生 > >JAVA——三大屬性之繼承

JAVA——三大屬性之繼承

什麼是繼承?

類與類的一種關係,跟 "is a"一樣的關係
JAVA中類只能繼承一個類,是單繼承的關係,就像一個孩子只能有一個親爸
繼承的好處:子類將擁有父類的所有屬性和方法,實現程式碼的複用。

//定義一個Phone的父類,簡單的設定幾個變數
public class Phone  {
    public int neicun;         //此程式碼中public打醬油的,被private修飾的變數將無法被繼承
    public String CPU;
    public void thinking(){
        System.out.println( "Waooou" );
    }
}
//在定義一個HUAWEI的子類,繼承Phone
public class HUAWEI extends Phone {
}
//定義一個主函式,例項化p20pro物件
public class main {
    public static void main(String[] args) {
        HUAWEI P20PR0 = new HUAWEI();
        P20PR0.CPU = "qilin970";
        P20PR0.neicun = 8;
        System.out.println( "我的CPU型號是:" + P20PR0.CPU );
        System.out.println( ",我的最大記憶體是:" + P20PR0.neicun );
        P20PR0.thinking();
    }
}

執行結果
可以看到在HUAWEI類中我們並沒有定義手機的屬性,而這些屬性都是在Phone屬性中存在的。爽歪歪。

方法的重寫

如上程式碼,如果子類對父類程式碼不滿意,可以重寫父類的方法,在呼叫方法時會有限呼叫子類的方法。同時,返回值型別,引數型別及個數,方法名都必須與父類繼承方法相同,才是方法的重寫。

//其他程式碼對比上述程式碼未有改動
public class HUAWEI extends Phone {
    @Override
    public void thinking() {
        System.out.println( "華夏有為" );
    }
}

在這裡插入圖片描述


注意一下,這裡有一位隔路的小兄弟修飾符final
被final修飾的類不能被繼承
被final修飾的方法不能被重寫
被final修飾的變數不能被二次賦值,也就是變成了常量