在Java中咱們用面向對象的思想把問題簡單話,咱們用class關鍵字來建立類。這樣作會使咱們方便不少。可是當你建立一個類時,另外一個類也跟這個類具備類似的功能和屬性,咱們還須要從新寫一個類。這樣看起來很麻煩,因此在Java中咱們能夠用繼承來解決這些問題。用extends關鍵字來表示繼承關係,繼承就是把多個類所共有的特性和功能提取出來造成一個類,多個類就是子類(也有人說是導出類),子類能夠調用父類非私有的屬性和方法。新造成的那個新類就是父類(也有人說是基類)java
下面是繼承的語法ide
class A extends B{this
}spa
這個表示A繼承B A是子類 B是父類 那麼當建立A的對象的時候A的對象就可使用B中的非私有的方法和屬性orm
繼承的出現提升了代碼的複用性爲何這麼說呢 由於你在父類中的方法 子類就不用寫了 子類只須要把他本身所特有的一些屬性和方法寫好就能夠了。當另外一個類還想使用這個父類中的方法或者屬性時。只須要讓他繼承這個類就能夠了。這大大提升了代碼的使用對象
在Java中只支持單繼承 不支持多繼承 這是什麼意思呢 ?繼承
這表示一個子類只能有一個父類 正常狀況下一個兒子只能有一個父親接口
在java中是用接口的形式來實現多繼承(接口之後會說)ci
Java支持多層繼承 什麼叫多層繼承的 就至關於 爺爺 父親 兒子的關係it
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
這樣咱們就能夠區分是父類中的成員仍是子類中的成員了