1. 程式人生 > >java繼承與介面

java繼承與介面

在java中繼承是使用extends關鍵字來實現,不同於C++中的多繼承設計,java中的繼承只能是單繼承,父類可以使一般的類也可以是抽象類,抽象類就是被abstract關鍵字修飾過的類,在其中可以定義只有簽名而沒有實現的抽象方法。對於繼承了抽象類的子類就要麼實現父類中定義的抽象方法要麼繼續設計成抽象類。 java中介面由interface定義,在定義介面時其中的方法預設是被修飾為public abstract的,因此像下面的一段程式碼就將編譯不通過:
interface Flyable {
	void fly();
}
public class Bird implements Flyable {
	void fly() {
		System.out.println("bird fly");
	}
}

在介面中也可以定義的屬性必須是常量,在沒有顯示註明修飾的時候會被預設修飾為public static final,而且在定義時需要直接賦值。否則編譯不過
public interface Color {
	public static final int RED = 1;
	public static final int GREEN = 2;
	public static final int BLUE;
}

不同於類的單繼承,介面可以實現多繼承,一個類可以implements多個介面,一個介面也可以extends多個介面,使用介面可以達到設計與實現分離的目的。