我需要有一個具有兩個構造函數的類,其中一個具有而另一個不具有參數。沒有的應該用隨機參數來調用另一個,所以不是默認值。構造函數調用具有參數的構造函數
下面是一些示例代碼:
public Human(int ageIn, String nameIn){
this.name = nameIn;
this.age = ageIn;
}
public Human(){
String[] names = {"Peter", "Olof", "Alva", "Sanna", "Carl", "Illona"};
double random = Math.random();
int nameIndex = (int)(names.length*random+0.5);
String name = names[nameIndex];
random = Math.random();
int age = (int)(100*random+0.5);
this(age, name);
}
,使這個很難的事情是,this()
必須是在構造函數的開始,但我必須定義之前,我可以找出name
和age
與他們一起調用第一個構造函數。
有沒有辦法解決這個問題?謝謝!
我不知道是否有更好的方法,但你可以只爲每個隨機參數靜態方法,並調用'這個(getRandomAge(),getRandomName())' – AJPerez
是的,我想這一點,和靜態是缺少的關鍵字,因爲它正在抱怨該類未初始化。謝謝!發佈這個答案,我會接受。 –