我有一个类构造函数
public Knapsack(Item[] items){
// to do
}
然后我有 Item 类,它接受两个参数字符串和 int。 所以例如
Knapsack k = new Item("Pen", 15);
当这个对象传递到其他类中的构造函数时,我如何只能使用单个参数,例如"PEN">和int 15
你应该像这样将数组传递给构造函数:
Knapsack k = new Knapsack(new Item[]{new Item("Pen", 15)});
此外,如果要将文本值传递给背包类而不是 Item 的数组,则可以在此处应用 Builder 模式。
正如构造函数所说,你需要一个项目数组。背包不能分配给物品
例如
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
呼叫链接在一起