java - 对此使用 setter/getter 。在java中

标签 java oop getter

我正在做一个 CS 项目,我刚刚意识到我不理解其背后的机制。 java 引用和 getter。具体来说,如果我有以下内容:

class Circle{
   private int radius;
}

public Circle(int radius){
   this.radius = radius;
}

public int getRadius(){
   return radius;
}
  • 为什么构造函数我用 this.radius引用 Circle 类中的数据字段“半径”,但对于构​​造函数,我有 this.radius = radius

  • 我是否使用 this 有什么区别吗?只要它是唯一名为 radius 的数据字段即可?

  • 我刚刚在 Sublime 上测试了它,它输出了相同的结果。
    就按照我自己的逻辑,使用 this.radius 不是更有意义吗?返回 getRadius() 中的半径getter 而不仅仅是 return radius因为我指的是对象Circle中的数据字段?

我真的很感谢我能得到的所有帮助!

最佳答案

这是因为radius是构造函数的参数名称和类的字段名称。为了消除歧义,使用了 this 关键字。如果是 getter,则不需要 this,但也不会造成伤害。一些格式化程序默认添加this,它相当于:

public int getRadius(){
    return this.radius;
}

关于java - 对此使用 setter/getter 。在java中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55327417/

相关文章:

java - Eclipse - gwtupload - maxSize

java - 在测试和生产代码中获取一致的资源文件夹路径

c++ - 这两个语句有什么区别

Ruby风格问题: blocks or inheritance?

单独文件中的 C++ 类无法编译。已经在 Class.obj 中定义了一个或多个多重定义的符号

java - 为什么在 Constructor 和 Setters 中使用 "this"关键字?

c# - getter , setter c#

java - 如何修复 java.lang.UnsupportedClassVersionError : Unsupported major. 次要版本

java - 如何将包含字符转义序列的字符串转换为 char?

typescript - 如何从 typescript 中的类型中排除 getter only 属性