我对getter和setter方法仍然很困惑。我有这段代码;
public class MethodsInstances {
public MethodsInstances(String name){
girlName = name;
}
private String girlName;
public String getName(){
return girlName;
}
public void sayName(){
System.out.printf("Your first gf was %s", getName());
}
}
但是对于“sayName”,为什么不输入getName()而不是输入girlName呢?一样,因为getName()返回girlName,如代码所示。另外,方法是否必须以get和set开头,或者可以根据需要命名?
非常感谢新手编码员Dan B
最佳答案
getter和setter的意义在于,只有它们才可以用来访问它们正在获取或设置的私有变量。这样,您提供封装,以后重构或修改代码将更加容易。
假设您使用girlName
而不是其getter。然后,如果要添加类似默认值的内容(例如,如果之前未设置默认名称,则为“Guest”),则必须同时修改getter和sayName
函数。
不需要getter和setter以get和set开头-它们只是普通的成员函数。但是,这样做是惯例。 (特别是如果您使用Java Beans)