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

📄 rodent7.java

📁 Thinking in Java第四版 课后习题的源码
💻 JAVA
字号:
// interfaces/rodent/Rodent7.java
// TIJ4 Chapter Interfaces, Exercise 7, page 320
// Modify Exercise 9 in the Polymorphism chapter so that Rodent is an
// interface.
/* Solution includes, in same package: 
* import java.util.*;
* public class RandomRodentGenerator1 {
*	private Random rand = new Random();
*	public Rodent next() {
*		switch(rand.nextInt(3)) {
*			default:
*			case 0: return new Mouse();
*			case 1: return new Rat();
*			case 2: return new Squirrel();			
*		}
*	}
* }
*/

import static org.greggordon.tools.Print.*;

interface Rodent {
	String name = "Rodent";
	void eat(); 
	void run(); 
	void sleep();
	String toString(); 
}

class Mouse implements Rodent {
	private String name = "Mouse";
	public void eat() { println("Mouse.eat()"); }
	public void run() { println("Mouse.run()"); }
	public void sleep() { println("Mouse.sleep()"); }
	public String toString() { return name; }
}

class Rat implements Rodent {
	private String name = "Rat";
	public void eat() { println("Rat.eat()"); }
	public void run() { println("Rat.run()"); }
	public void sleep() { println("Rat.sleep()"); }
	public String toString() { return name; }
}

class Squirrel implements Rodent {
	private String name = "Squirrel";
	public void eat() { println("Squirrel.eat()"); }
	public void run() { println("Squirrel.run()"); }
	public void sleep() { println("Squirrel.sleep()"); }
	public String toString() { return name; }
}

public class Rodent7 {
	private static RandomRodentGenerator1 gen = new RandomRodentGenerator1();
	public static void main(String[] args) {
		// Error: cannot instantiate (abstract) interface:
		// Rodent x = new Rodent();
		// But OK to create array of implementing objects:
		Rodent[] rodents = new Rodent[10];
		for(Rodent r : rodents) {
			r = gen.next();
			println(r + ": ");
			r.eat();
			r.run();
			r.sleep();			
		}		
	}
}

⌨️ 快捷键说明

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