如何在调用构造函数时调用方法?

时间:2016-12-16 20:34:40

标签: java

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"的值由该方法给出。我该怎么办?

2 个答案:

答案 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() staticfinal和/或private。允许从构造函数内部调用实例方法,但如果误用则可以引入surprising bugs

答案 1 :(得分:0)

您可以在构造函数中调用它,并将值赋给类的DNI属性:

Persona() {
    nombre = "";
    DNI = generaDNI();
    sexo = 'M';
    edad = 0;
    altura = 0;
    peso = 0;
}