在Java中我們用面向對象的思想把問題簡單話,我們用class關鍵字來創建類。這樣做會使我們方便很多。但是當你創建一個類時,另一個類也跟這個類具有相似的功能和屬性,我們還需要重新寫一個類。這樣看起來很麻煩,所以在Java中我們可以用繼承來解決這些問題。用extends關鍵字來表示繼承關係,繼承就是把多個類所共有的特性和功能提取出來形成一個類,多個類就是子類(也有人說是導出類),子類可以調用父類非私有的屬性和方法。新形成的那個新類就是父類(也有人說是基類)
下面是繼承的語法
class A extends B{
}
這個表示A繼承B A是子類 B是父類 那麼當創建A的對象的時候A的對象就可以使用B中的非私有的方法和屬性
繼承的出現提高了代碼的複用性爲什麼這麼說呢 因爲你在父類中的方法 子類就不用寫了 子類只需要把他自己所特有的一些屬性和方法寫好就可以了。當另一個類還想使用這個父類中的方法或者屬性時。只需要讓他繼承這個類就可以了。這大大提高了代碼的使用
在Java中只支持單繼承 不支持多繼承 這是什麼意思呢 ?
這表示一個子類只能有一個父類 正常情況下一個兒子只能有一個父親
在java中是用接口的形式來實現多繼承(接口以後會說)
Java支持多層繼承 什麼叫多層繼承的 就相當於 爺爺 父親 兒子的關係
class A extends B{
}
Class C extends A{
}
在這個程序裏 A繼承B C繼承A 那麼 C也就可以使用B中的方法和屬性 這就是繼承的傳遞性
super關鍵字
當子類和父類 出現了同名的成員 那麼當你調用的這個成員的呢 你怎麼知道這個成員是子類中的還是父類中的呢?
這個時候就用到了 super 關鍵字 super代表的是父類對象的引用那麼你只需要super.名字就可以區分了
class A extends B{
String time =“a”;
System.out.peintln(super.time);
System.out.println(this.time);
}
class B {
String time = “b”;
}
Output:
b
a
這樣我們就可以區分是父類中的成員還是子類中的成員了