public class Persona {
private String nombre, DNI;
private char sexo;
private int edad, altura;
private float peso;
Persona(){
nombre = "";
sexo = 'M';
edad = 0;
altura = 0;
peso = 0;
}
String generaDNI(){
String DNI = "";
int x = (int)(Math.random() * 100000000 + 1);
DNI += Integer.toString(x);
return DNI;
}
}
所以这是我的代码。我想要做的是,每当我调用构造函数时,我都想要属性" DNI"调用方法" generaDNI",所以" DNI"的值由该方法给出。我该怎么办?
答案 0 :(得分:1)
您是否希望在构造函数中执行DNI = generaDNI();
?您可以添加该行,例如:
Persona(){
nombre = "";
DNI = generaDNI();
sexo = 'M';
// you don't need to set edad, altura, or peso - they default to 0
}
考虑制作generaDNI()
static
,final
和/或private
。允许从构造函数内部调用实例方法,但如果误用则可以引入surprising bugs。
答案 1 :(得分:0)
您可以在构造函数中调用它,并将值赋给类的DNI属性:
Persona() {
nombre = "";
DNI = generaDNI();
sexo = 'M';
edad = 0;
altura = 0;
peso = 0;
}