好吧,我不确定我是否能做到这一点,但我还是要问这个问题......
我上了Budynek班,构造函数是这样的:
public Budynek(int numerBudynku)
{
this.id.nrBudynku = numerBudynku;
this.id.nrPietra = 0;
this.id.nrPokoju = 0;
}
所以我这样创建它:
Budynek Budynek1 = new Budynek(1);
Budynek Budynek2 = new Budynek(2);
现在我想问一下是否有办法创建一个为我创建新Budynek的方法?让我们说如果我使用switch case,而case 1将是“new new Budynek”
然后我想这个方法做这样的事情
e.g licznik = 1
Budynek Budynek+licznik(so it will be Budynek1) = new Budynek(licznik)
然后只是licznik = licznik + 1;
可能吗?
答案 0 :(得分:2)
您可以创建一个列表并将所有内容存储在那里,因为您正在使用budynek+index
进行索引
List<Budynek> budynekList = new ArrayList<Budynek>();
budynekList.add(new Budynek(10));
budynekList.add(new Budynek(20));
budynekList.add(new Budynek(400));
budynekList.get(index); // now you have your budynek objects with the given index.
正如已经指出的评论那样,你不能在运行时声明变量。
答案 1 :(得分:0)
无论
enum Budynek {
BUDYNEK_A,
BUDYNEK_B,
BUDYNEK_C;
public ID id;
private Budynek() {
this.id.nrBudynku = 1 + ordinal();
this.id.nrPietra = 0;
this.id.nrPokoju = 0;
}
}
Budynek.BUDY_A.id.nrBudynku
或者你必须去一个阵列:
Budynek[] budyneki = new Budynek[3];
...
budyneki[0].id.nrBudynku
budyneki[1].id.nrBudynku
budyneki[2].id.nrBudynku