JAVA——三大屬性之繼承
阿新 • • 發佈:2018-11-17
什麼是繼承?
類與類的一種關係,跟 "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修飾的變數不能被二次賦值,也就是變成了常量