Java繼承擴展接口

繼承擴展接口

//怪物
interface Monster {
//危險
	void menace();
}

//危險的怪物
interface DangerousMonster extends Monster {
//有破壞力
	void destory();
}

//致命
interface Lethal {
//殺死
	void kill();
}

//龍戰士
class DragonZilla implements DangerousMonster {
	public void menace() {
	};

	public void destory() {
	};
}

//吸血鬼
interface Vampire extends DangerousMonster, Lethal {
	void drinkBlood();
}

//邪惡的吸血鬼
class VeryBadVampire implements Vampire {
	public void menace() {
	};

	public void destory() {
	};

	public void kill() {
	};

	public void drinkBiood() {
	};
}

//表演
public class HorrorShow {
	static void u(Monster b) {
		b.menace();
	}

	static void v(DangerousMonster d) {
		d.menace();
		d.destory();
	}

	static void w(Lethal l) {
		l.kill();
	}

public static void main(String[] args) {
		DangerousMonster barney = new DragonZilla();
		u(barney);
		v(barney);
		Vampire vlad = new VeryBadVampire();
		u(vlad);
		v(vlad);
		w(vlad);
	}

DangerousMonster是Monster的直接擴展,它產生了一個新接口.DragonZilla中實現了這個接口.
在Vampire中使用的語法僅適用於接口繼承.一般情況下,只能將extends用於單一類.但是可以引用多個基類的接口.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章