繼承
在Java中,一個類可以由其他類派生。如果你要創建一個類,而且已經存在一個類具有你所需要的屬性或方法,那麼你可以將新創建的類繼承該類。
利用繼承的方法,可以重用已存在類的方法和屬性,而不用重寫這些代碼。被繼承的類稱為超類(super class),派生類稱為子類(subclass)。
繼承的特性
- 子類擁有父類非private的屬性,方法。
- 子類可以擁有自己的屬性和方法,即子類可以對父類進行擴展。
- 子類可以用自己的方式實現父類的方法。
- Java的繼承是單繼承,但是可以多重繼承,單繼承就是一個子類只能繼承一個父類,多重繼承就是,例如A類繼承B類,B類繼承C類,所以按照關係就是C類是B類的父類,B類是A類的父類,這是java繼承區別於C++繼承的一個特性。
- 提高了類之間的耦合性(繼承的缺點,耦合度高就會造成代碼之間的聯繫)。
Extends 關鍵字
在Java 中,類的繼承是單一繼承,也就是說,一個子類只能擁有一個父類,所以extends 只能繼承一個類。
public class Animal {
private String name ;
private int id ;
public Animal ( String myName , String myid ) { // 初始化屬性值
}
public void eat ( ) { // 吃東西方法的具體實現}
public void sleep ( ) { // 睡覺方法的具體實現}
}
public class Penguin extends Animal { }
implements關鍵字
使用implements 關鍵字可以變相的使java具有多繼承的特性,使用範圍為類繼承接口的情況,可以同時繼承多個接口(接口跟接口之間採用逗號分隔)。
public interface A {
public void eat ( ) ;
public void sleep ( ) ;
}
public interface B {
public void show ( ) ;
}
public class C implements A , B { }
super 與this 關鍵字
super關鍵字:我們可以通過super關鍵字來實現對父類成員的訪問,用來引用當前對象的父類。
this關鍵字:指向自己的引用。
final關鍵字
final 關鍵字聲明類可以把類定義為不能繼承的,即最終類;或者用於修飾方法,該方法不能被子類重寫