工厂,开关和随机 - java

问题描述 投票:0回答:1

我刚刚开始几周前学习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) {
}

问题是我无法理解这个案例应该如何处理。

java random switch-statement factory
1个回答
0
投票

谢谢。我现在明白了。我应该使用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;
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.