?? rodent7.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();
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -