在 Java 中,访问器方法是否总是需要 return 一个值?

In Java, do accessor methods always need to return a value?

我想知道 Java 中的访问器方法是否总是需要 return 一个值。因为你可以 "access" 一种方法来打印等等

例如,是否可以将下面的方法视为 class 中的访问器方法?

public static void getCapacity(){
    System.out.print("Capacity is 0"); 
}

严格来说不是,但这确实违反了惯例。您不是在技术上访问数据,只是显示它。

需要访问方法来获取值。我们调用方法获取值,继续和他一起工作(或者,比如,和某物进行比较)。

一个OOP的原则是封装的原则——使用访问方法获取class的封闭字段的值。

这里我们希望看到一条信息性消息:

public void printCapacity(){
    System.out.print("Capacity is 0"); 
} 

在这个方法中,我们希望得到值:

public int getCapacity(){
    return this.capacity;
}

你可以做你想做的。但是在 Java 中,许多 classes 将他们的默认行为设置在一个标准上,即 Java Beans specification.

此行为的一部分描述了 class 成员的访问器。如果您使用规范中描述的 bean 命名约定 getter(即 get/is + 成员名称)但没有关联的行为,您会使代码的许多读者感到困惑。