【发布时间】:2019-02-12 13:33:30
【问题描述】:
我想根据位置对比赛进行编号,并且应该在构造函数中创建汽车时完成。问题是我可以从静态块中获取一个字段并将其值分配给车辆类字段吗?
public class Vehicle {
static {
Locale[] loc = {Locale.US, Locale.JAPAN, Locale.ITALIAN,};
int[] beginNr = {100, 1000, 10000};
int initNr = 200;
Locale defLoc = Locale.getDefault();
for (int i=0; i<loc.length; i++)
if (defLoc.equals(loc[i])){
initNr = beginNr[i];
break;
}
}
private int width, height, lenght, weight;
private Person owner;
private VehicleStatus status;
private static int count;
private int currentNumber;
public Vehicle(Person owner, int width, int height, int lenght, int weight) {
this.width = width;
this.height = height;
this.lenght = lenght;
this.weight = weight;
this.owner = owner;
status = STOPPED;
currentNumber = ++count;
}
我希望将initNr 字段的值分配给currentNumber 字段。
【问题讨论】:
-
您对如何根据位置创建汽车自动编号有什么建议吗?
-
您可以简单地引用静态块中的字段
currentNumber,而不是initNr。
标签: java static-block