【问题标题】:Can a method that calls an accessor method be an accessor method调用访问器方法的方法可以是访问器方法吗
【发布时间】:2018-09-14 07:58:51
【问题描述】:
public Class accessor {
    private int x = 0; 

    public int getX() {
        return x; 
    }

    public String toString() {
        return getX() + "";
    }
}

在这种情况下,toString() 方法是访问器方法吗?

【问题讨论】:

    标签: java methods getter accessor


    【解决方案1】:

    Accessor,a.k.a getter,顾名思义,用于直接访问类的属性。 toString 是执行某些逻辑的普通公共方法(不仅仅是直接返回某个字段的值)。通常这种方法会被覆盖以提供对象内部状态的字符串表示。

    【讨论】:

      【解决方案2】:

      toString 不被视为访问器,因为它不访问对象的属性(属性),而是访问整个对象(尽管我确实明白你的意思)。

      访问器是 getter(通常命名为 getSomething,或 isSomething 对应 booleans)和 setter(通常命名为 setSomething)。

      同样要回答标题中的问题,一个访问者调用另一个访问者并没有错。我相信这种情况经常发生(即使您的示例中没有)。

      在代表人的类中,例如,您可能有一个全名 getter 调用名字和姓氏的 getter:

          public String getFullName() {
              return getFirstName() + ' ' + getLastName();
          }
      

      我会将getFullName 视为访问器,因为我们可以将全名视为人的属性(并且其名称以get 开头)。

      【讨论】:

      • 但我认为他有兴趣,我们可以调用一个方法调用另一个访问器作为访问器吗?
      • 感谢@TheScientificMethod 的评论。我添加了一个代码示例来阐明您提到的观点。希望有帮助吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-08
      • 1970-01-01
      • 1970-01-01
      • 2011-01-22
      • 1970-01-01
      • 1970-01-01
      • 2016-03-18
      相关资源
      最近更新 更多