吸气剂用于最终变量

时间:2013-07-15 16:25:43

标签: java oop getter

现在我正在创建一个可以保存我的配置的类加载,就是这样。我所做的就是存储配置文件中的值。

超过一半的代码是getter,我想知道实践是否仍然是getter或者只是直接访问变量。

所以这个:

public myClass
{
    public myClass(String name)
    {
        this.name = name;
    }

    final String name;

    public final String getName()
    {
        return name;
    }
}

或者:

public myClass
{
    public myClass(String name)
    {
        this.name = name;
    }

    public final String name;
}

当他们实际上没有做任何事情而是返回变量时,将所有吸气剂放在那里似乎真的很愚蠢。但有人告诉我,无论如何都要在那里使用吸气剂。

2 个答案:

答案 0 :(得分:11)

使用getter封装数据可以提供多种优势,包括:

  • 您可以将字段更改为其他表示形式,而不会影响来电者。
  • 您可以在getter中添加其他代码。
  • 您可以实现提供getter的接口。
  • 您可以提供对字段的只读访问权限,即使它们不是final

答案 1 :(得分:0)

我所知道的做法是,您可以将公共 static 最终字段与不可变类型一起使用,例如System.out。但是,我确实将getter添加到实例字段

我同意你的观点,即揭露最后的String几乎没有伤害。但要注意可变类型。此外,由于IDE中的内联和代码生成,getter的成本往往相当低,无论是编写代码还是在运行时。