⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 horrorshow14.java

📁 JAVA编程思想第四版英文原版习题答案. pdf原版的
💻 JAVA
字号:
// innerclasses/HorrorShow14.java
// TIJ4 Chapter Innerclasses, Exercise 14, page361
/* Modify interfaces/HorrorShow.java to implement DangerousMonster and
* Vampire using anonymous classes.
*/
import static org.greggordon.tools.Print.*;

interface Monster {
	void menace();
}	

interface DangerousMonster extends Monster {
	void destroy();
}	

interface Lethal {
	void kill();
}

class DragonZilla implements DangerousMonster {
	public void menace() {}
	public void destroy() {}
}

interface Vampire extends DangerousMonster, Lethal {
	void drinkBlood();
}

class VeryBadVampire implements Vampire {
	public void menace() {}
	public void destroy() {}
	public void kill() {}
	public void drinkBlood() {} 
}

public class HorrorShow14 {
	static void u(Monster b) { b.menace(); }
	static void v(DangerousMonster d) {
		d.menace();
		d.destroy();
	}
	static void w(Lethal l) { l.kill(); }
	public DangerousMonster monsterMaker() {
		return new DangerousMonster() {
			public void menace() { println("DangerousMonster Menace"); }
			public void destroy() { println("DangerousMonster Destroy"); }
		};
	}
	public Vampire vampireMaker() {
		return new Vampire() {
			public void menace() { println("Vampire Menace"); }
			public void destroy() { println("Vampire Destroy"); }
			public void kill() { println("Vampire Kill"); }
			public void drinkBlood() { println("Vampire DrinkBlood"); }
		};
	}		
	public static void main(String[] args) {
		HorrorShow14 show = new HorrorShow14();
		show.u(show.monsterMaker());
		show.v(show.monsterMaker());
		show.u(show.vampireMaker());
		show.v(show.vampireMaker());
		show.w(show.vampireMaker());
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -