Java getter 与 this

标签 java

这是一个非常通用的场景,我使用 setter 函数设置变量并仅在本地使用该变量。

class Main {
 private String str;

 public Main(String value)
  setStr(value);
 }

 private String getStr() {
    return str;
 }

 private void setStr(String str) {
    this.str = str;
 }

 public void display() {
    //METHOD1
    System.out.println(getStr());
    //METHOD2
    System.out.println(this.str);
  }
}
  1. 显示函数中的两个 METHOD1/2 之间应该遵循什么更好的做法,基本上是使用“str”变量的更好方法。

  2. 拥有私有(private) getter/setter 函数是否有意义?

    • 伊瓦尔

最佳答案

如果 getter 是私有(private)的,并且只是返回一个私有(private)变量,那么就不需要它,恕我直言(即我更喜欢第二种访问它的方法)。

但是,如果 getter 是公共(public)的而不是最终的,因此可以由子类重新定义,那么您必须决定是否想要获取 getter 返回的可能被覆盖的值,或者您想要的值显示方法中的私有(private)字段。

关于Java getter 与 this,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5203625/

相关文章:

在其他正在运行的 javaws 死实例被杀死之前,Java WS 不会启动应用程序

java - 在 Java : null characters with CharsetDecoder/Encoder 中从 Windows 1252 转换为 UTF8

java - 保护和取消保护文件以避免在 Android 中被错误的清理应用程序意外删除

java - Selenium 3.12 在 driver.quit() @ FireFox 60/Win 7 Home Premium/Java 10.0.1/GeckoDriver 0.20.1 上显示错误

java - JdbcBatchItemWriter 是否不支持 List<Map> 输入项?

java - 如何在同一个类中强制执行 getter 调用

java - RecyclerView 中的多个 View

java - 如何将有界任务流渲染到弹出窗口中

java - Java 8 中的调用方法

java - 监控java中的进程