在Java中执行类的构造函数

在Java中执行类的构造函数,java,constructor,Java,Constructor,我的预订课程中有一个构造函数,如下所示: public Booking (String name, String phone, int [] adultSeats, int [] childSeats ) { this.name = name; this.phone = phone; this.adultSeats = adultSeats; this.childSeats = childSeats; } 我想编写一个Tester类,通过创建Booking对

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

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

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

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

我做了很多尝试,例如:

Try1:预订b1=新预订Ali,32788943,{0,1},{3,4,5}

Try2:预订b1=新预订Ali,32788943,2,3

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


谢谢。

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

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);

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

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);
应该为成人座椅和儿童座椅传递int类型数组值

使之成为

Booking b1 = new Booking ("Ali","32788943",new int[]{0,1},new int[]{3,4,5});
应该为成人座椅和儿童座椅传递int类型数组值

使之成为

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

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

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

尝试bookingb1=newbookingali,32788943,newint[]{0,1},newint[]{3,4,5};从另一方面看,你真的需要测试这个方法吗?写一个只检查正确字段分配的测试是毫无意义的…谢谢你的评论。我的目标是调用b1.GetNumberOfManuals等方法;b1.儿童的数量;但我在创建预订对象时出错了。由于您的评论,问题已得到解决,请尝试预订b1=新预订阿里,32788943,新int[]{0,1},新int[]{3,4,5};从另一方面看,你真的需要测试这个方法吗?写一个只检查正确字段分配的测试是毫无意义的…谢谢你的评论。我的目标是调用b1.GetNumberOfManuals等方法;b1.儿童的数量;但我在创建预订对象时出错了。谢谢你的评论,问题已经解决了。谢谢你的评论。我的目标是调用b1.GetNumberOfManuals等方法;b1.儿童的数量;但我在创建预订对象时出错了。谢谢你的评论,问题已经解决了。谢谢你的评论。我的目标是调用b1.GetNumberOfManuals等方法;b1.儿童的数量;但我在创建预订对象时出错了。多亏了你的评论,问题才得以解决