我可以使用getter和setter来初始化变量吗?

时间:2013-10-28 17:06:27

标签: java encapsulation

我可以将getter和setter用于已经初始化的变量(名称)吗?它已在类级别初始化,因为这些值在许多方法中使用。

Class Family{
private String names[] = {"Arthur","Molly","Ginny","Fred", "George","Ron"};
// Is it ok to initialize this way since the names will be used in many methods.

private String surname;

public void displayOccupation(){
    for(int o=0; o<occupation.length; o++){
        System.out.println(names[o]+ "\t"+ occupation[o]+"\n");
    }
}
public void displayNames(){
            setSurname("Gates");
    for(int x=0; x<names.length; x++){
        System.out.println("\n"+rel[x]+"\t"+" =  "+names[x]+" "+surname); 
    }
}
public String getSurname(){
    return surname;
}
public void setSurname(String s){
    surname=s;
}
}

或者我必须在访问私有变量的每个方法中重新初始化它吗?

1 个答案:

答案 0 :(得分:0)

借助setter方法可以初始化私有变量。没有必要在每种方法中初始化它。