//enum GetWheels.java
public enum GetWheels{
ONE_WHEEL,TWO_WHEELS,THREE_WHEELS;
}
//Cycle.java
class Cycle{
public void wheel(GetWheels g){
System.out.println("Cycle.wheel() "+g);
}
}
//RideCycle
import static will.Print.*;
class Unicycle extends Cycle{
public void wheel(GetWheels g){
print("Unicyle.wheel() "+g);
}
}
class Bicycle extends Cycle{
public void wheel(GetWheels g){
print("Bicycle.wheel() "+g);
}
}
class Tricycle extends Cycle{
public void wheel(GetWheels g){
print("Tricycle.wheel() "+g);
}
}
public class RideCycle{
public static void ride(Cycle c,int i){
//那么当枚举类型出现很多种还要用switch吗?
//寻求更简便方法
switch(i){
case 1: c.wheel(GetWheels.ONE_WHEEL);
break;
case 2: c.wheel(GetWheels.TWO_WHEELS);
break;
case 3: c.wheel(GetWheels.THREE_WHEELS);
break;
default: print("No cycle here");
}
}
public static void main(String[] args){
Unicycle one = new Unicycle();
Bicycle two = new Bicycle();
Tricycle three = new Tricycle();
ride(one,1);
ride(two,2);
ride(three,3);
}
}