java - getter 和 setter 方法应该有什么名称

标签 java methods

我对 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/

相关文章:

c# - FileStream Read/Write 方法的限制

C# 在 A 类和 B 类之间传递数组

unit-testing - 为什么在Spock中测试私有(private)方法/字段可以没有问题?

perl - 如何确保我的方法调用在正确的对象上使用正确的方法名称?

java - 实现父/子并获取记录集如果我给出父名称

java - Apache CXF java2ws 插件

java - 简单的框架。不要将某些变量序列化为 xml

java - 从文件加载数组

java - 更新 JTabbedPane 组件

java - 我应该如何配置 Netty 来处理高请求量?