我有一个类构造函数
public Knapsack(Item[] items){
// to do
}
然后我有一个带有两个参数string和int的Item类。 例如
Knapsack k = new Item("Pen", 15);
当将此对象传递给其他类的构造函数时,如何仅使用单个参数,例如“ PEN” 和int 15
答案 0 :(得分:1)
您应该像这样将数组传递给构造函数:
Knapsack k = new Knapsack(new Item[]{new Item("Pen", 15)});
此外,如果要将文字值传递给背包类而不是Item的数组,则可以在此处应用Builder pattern。
答案 1 :(得分:0)
正如构造函数所说,您需要一个项目数组。背包不能分配给物品
例如
Item[] items = new Item[1];
items[0] = new Item("Pen", 15);
Knapsack k = new Knapsack(items);
或者,您可以为背包定义构建器方法
public Knapsack(){
// to do
}
public Knapsack withItem(String name, int amount) {
Item i = new Item(name, amount);
// to do: add to the Knapsack
return this;
}
那么您将拥有
Knapsack k = new Knapsack().withItem("Pen", 15);
您可以将多个withItem
链接在一起