我对 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 的意义在于,只有它们才能用于访问它们正在获取或设置的私有(private)变量。这样您就提供了封装,以后重构或修改代码会容易得多。
假设您使用 girlName
而不是它的 getter。然后,如果您想要添加类似默认值的内容(假设默认名称是“Guest”,如果之前未设置),那么您将必须同时修改 getter 和 sayName
函数。
getter 和 setter 不需要以 get 和 set 开头——它们只是普通的成员函数。但是,这样做是一种惯例。 (特别是如果你使用 Java Beans )
关于java - getter 和 setter 方法应该有什么名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7213165/