在Java中执行类的构造函数

ser*_*erb 1 java constructor

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

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

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

}
Run Code Online (Sandbox Code Playgroud)

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

我做了很多尝试,例如:

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

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

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

谢谢.

Mic*_*rry 5

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

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

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

如果你想避免这种内联表示法,那么将它分解为单独的变量可能更清楚:

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