在Java中执行类的构造函数

时间:2013-11-29 10:42:29

标签: java constructor

我的预订课程中有一个构造函数如下:

public Booking (String name, String phone, int [] adultSeats, int [] childSeats )
{
    this.name = name;
    this.phone = phone;

    this.adultSeats = adultSeats;
    this.childSeats = childSeats;

}

我想通过创建Booking对象来编写一个Tester类来执行构造函数。

我做了很多尝试,例如:

尝试1:Booking b1 = new Booking ("Ali","32788943",{0,1},{3,4,5}) ;

尝试2:Booking b1 = new Booking ("Ali","32788943",2,3) ;

如何在Tester类中执行构造函数?

感谢。

3 个答案:

答案 0 :(得分:5)

如果要内联指定一个新数组(在对任何构造函数或方法的调用中),必须显式创建它并指定其类型如下:

Booking b1 = new Booking ("Ali","32788943",new int[]{0,1},new int[]{3,4,5});

在这种情况下,简单地指定{3,4,5}并不足以满足编译器,因为可能会出现关于数组类型的模糊情况(因为与泛型不同,数组类型是有效的,不会被擦除)

如果你想避免使用这种内联符号,那么将其分解为单独的变量可能会更清楚:

int[] adultSeats = {0,1};
int[] childSeats = {3,4,5};
Booking b1 = new Booking("Ali", "32788943", adultSeats, childSeats);

答案 1 :(得分:0)

您应该为 adultSeats childSeats

传递 int 类型数组值

将其设为

Booking b1 = new Booking ("Ali","32788943",new int[]{0,1},new int[]{3,4,5});

答案 2 :(得分:0)

像这样:

Booking b1 = new Booking("Ali", "32788943", new int[] {0, 1}, new int[] {3, 4, 5});
相关问题