java构造函数中的变量参数

时间:2012-02-26 21:09:50

标签: java constructor

我可以在下面的示例中实现Car类。我可以将带轮子的集合传递给品牌映射,但有更好的方法吗?

一辆汽车有一个发动机和一些轮子。并非所有的汽车都是用来装四个轮子的,有些只有三个,而有些则有更多。但无论它们是为什么建造的,那就是它们可以容纳的最大数量。当汽车建造(即建造)时,会为它创造一个发动机,它将使用它的轮子。

2 个答案:

答案 0 :(得分:4)

public class Car
{
    private Engine      e;
    private int         numWheels;
    private List<Wheel> wheels;

    public Car(Engine e, int numWheels, ...)
    {
       this.e         = e;
       this.numWheels = numWheels;
       this.wheels    = new ArrayList<>();

       for(int i = 0; i < this.numWheels; i++)
       {
           this.wheels.add(new Wheel(...));
       }
    }
}

只需添加一个整数即可保存Car对象可以拥有的轮数。然后在构造函数中循环并添加那些轮子

答案 1 :(得分:0)

有很多方法可以做到这一点,但没有足够的信息可以说哪个更好。

我建议你做你认为最简单,最清晰的事情,如果传递一个集合适合你,那就去做吧。