我需要有一个具有两个构造函数的类,其中一个具有而另一个不具有参数。没有的应该用随机参数来调用另一个,所以不是默认值。构造函数调用具有参数的构造函数
下面是一些示例代码:
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
是的,我想这一点,和静态是缺少的关键字,因为它正在抱怨该类未初始化。谢谢!发布这个答案,我会接受。 –