自动选择和创建类对象

时间:2012-11-19 15:48:08

标签: c# java oop object

让我们说我们有一个盒子类:

class Box
{
    private int width;
    private int height;

    //Box Constructor
    public Box( int height )
    {
        this.height = height;
        width = 450;
    }

}

和我们主要的一系列Box对象:

Box Box1 = new Box(147);
Box Box2 = new Box(178);
Box Box3 = new Box(784);

有没有办法使用“for”循环来浏览这些对象?另外,您如何让计算机为我们创建类对象? 例如。使用以下方法创建10个对象:

for( int i=0; i>10; i++)
{
    //method
}

5 个答案:

答案 0 :(得分:3)

您可以将所有这些对象添加到数组(或)arraylist中并循环它。

示例:

List<Box> boxList = new ArrayList<Box>();
boxList.add(box1);
boxList.add(box2);
boxList.add(box3);

for( int i=0; i < boxList.size(); i++)
{
    //method
}

答案 1 :(得分:3)

我认为你的意思是

for(int i=0; i<10; i++)

在Java中你会做

Box[] boxes = new Box[10];
for(int i=0; i<10; i++) boxes[i] = new Box(i);

答案 2 :(得分:2)

您需要将对象组合在一个列表或数组中。然后,您可以遍历数组以创建对象和/或使用它们。

Box[] boxes = new Box[10];
for (int i = 0; i < 10; i++)
{
    boxes[i] = new Box(100);  // Create a new box object
}

答案 3 :(得分:1)

为了遍历先前创建的对象,对象必须位于某种类型的集合中。可以使用for循环

创建对象
for( int i=0; i<10; i++)
{
    new Box(i);
}

答案 4 :(得分:0)

您需要为创建的对象提供引用容器并将其添加到其中。如果您需要不同的构造函数参数(如您的示例所示),则需要一个容器:

Integer[] boxSpecifications = new Integer[] { 10, 187, 781, 321 };
List<Box> boxes = new ArrayList<Box>();

for (int i = 0; i < boxSpecifications.length; i++) {
  boxes.add( new Box( boxSpecifications[ i ] ) ) ;
}