在 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 + 成员名称)但没有关联的行为,您会使代码的许多读者感到困惑。
我想知道 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 + 成员名称)但没有关联的行为,您会使代码的许多读者感到困惑。