在 Java 中經過 extends 關鍵字能夠申明一個類是從另一個類繼承而來的java
子類擁有父類非 private 的屬性、方法。ide
子類能夠擁有本身的屬性和方法,即子類能夠對父類進行擴展。ui
子類能夠用本身的方式實現父類的方法。this
Java 的繼承是單繼承,可是能夠多重繼承,單繼承就是一個子類只能繼承一個父類,多重繼承就是,例如 A 類繼承 B 類,B 類繼承 C 類,因此按照關係就是 C 類是 B 類的父類,B 類是 A 類的父類,這是 Java 繼承區別於 C++ 繼承的一個特性。spa
提升了類之間的耦合性(繼承的缺點,耦合度高就會形成代碼之間的聯繫越緊密,代碼獨立性越差)。code
繼承能夠使用 extends 和 implements 這兩個關鍵字來實現繼承,並且全部的類都是繼承於 java.lang.Object,當一個類沒有繼承的兩個關鍵字,則默認繼承object(這個類在 java.lang 包中,因此不須要 import)祖先類對象
在 Java 中,類的繼承是單一繼承,也就是說,一個子類只能擁有一個父類,因此 extends 只能繼承一個類。blog
super關鍵字:咱們能夠經過super關鍵字來實現對父類成員的訪問,用來引用當前對象的父類。繼承
this關鍵字:指向本身的引用。接口
class Animal {void eat(){ System.out.println("animal : eat"); } }
class Dog extends Animal { void eat() { System.out.println("dog : eat"); }
void eatTest() { this.eat(); // this 調用本身的方法
super.eat(); // super 調用父類方法 } }
public class Test { public static void main(String[] args) {
Animal a = new Animal();
a.eat();
Dog d = new Dog();
d.eatTest(); } }
final 關鍵字聲明類能夠把類定義爲不能繼承的,即最終類;或者用於修飾方法,該方法不能被子類重寫: