表类
public Table() {
height = 0.0;
weight = 0.0;
color = "unknown";
numberOfLegs = 4;
inventoryNumber = 1;
numberOfTables++;
}// no args contructor
public Table(double h, double w, String c, int n) {
height = h;
weight = w;
color = c;
numberOfLegs = n;
inventoryNumber = 2;
numberOfTables++;
}// constructor
转轮级
Table kitchenTable = new Table();
Table diningTable = new Table(5.5, 9.9, "brown", 8);
Table picnicTable = new Table(3.3, 4.4, "red", 6);
Table babyTable = new Table();
如何在不使库存数量变为静态变量的情况下增加库存数量例如,My runner类with有2个无args构造函数和System out println,但它们都有1个。而我想要第一个打印1和第二个打印2
您有两个选项
可变
在Table
类中添加此方法
public void incrementInventory() {
this.inventoryNumber++;
}
使用
Table mutableTable = new Table();
mutableTable.incrementInventory();
不可更改(推荐(
将其添加到Table
类中
// new constructor
public Table(double h, double w, String c, int n, int inventory, int tables) {
height = h;
weight = w;
color = c;
numberOfLegs = n;
inventoryNumber = inventory;
numberOfTables = tables;
}
public Table incrementInventory() {
// new Table with the same all variables and inventory + 1
return new Table(
this.height, this.weight , this.color , this.numberOfLegs ,
this.inventoryNumber + 1, this.numberOfTables
);
}
使用
Table inmutableStateOne = new Table();
Table inventoryPlusOne = inmutableStateOne.incrementInventory();
则inmutableStateOne
将保持您的初始状态,而inventoryPlusOne
与inventory + 1
相同