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

09-25 22:24