我刚刚开始几周前学习java。到目前为止,我有一个问题,我无法克服。我有一个母班,有4个扩展班。我有一个向量,并希望使用Factory with Switch(我想使用此模式,因为我不明白交换机是如何工作的 - 我使用if / else,但不是使用switch)。有谁能够帮我? :)
package Tudor;
import java.util.Random;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Random rd = new Random();
int tipAnimal = rd.nextInt(4);
Animal list[] = new Animal[5];
for (int i = 0; i < list.length;; i++) {
lista[i] = Factory.buildAnimal(tipAnimal);
}
package Tudor;
public class Animal {
Object animal;
public Animal(Object animal) {
this.animal = animal;
}
package Tudor;
public class Dog extends Animal {
}
package Tudor;
public class Cat extends Animal {
}
package Tudor;
public class Doberman extends Dog{
}
package Tudor;
public class Shorthair extends Cat{
}
package Tudor;
public class Factory {
public static Animal buildAnimal ( Object animal) {
switch (animal) {
}
问题是我无法理解这个案例应该如何处理。
谢谢。我现在明白了。我应该使用int而不是Object。
public class Factory {
public static Animal buildAnimal (int tipAnimal) {
switch (tipAnimal) {
case 0 :
return new Animal();
case 1 :
return new Dog();
case 2:
return new Cat();
case 3:
return new Doberman();
case 4:
return new Shorthair();
default: return null;
}
}
}