我想知道Java中的访问器方法是否总是需要返回一个值。因为你可以“访问”一个方法来打印等等。
例如,下面的方法可以被认为是类中的访问器方法吗?
public static void getCapacity(){
System.out.print("Capacity is 0");
}
答案 0 :(得分:7)
不严格,但这确实打破了惯例。您不是在技术上访问数据,只是显示数据。
答案 1 :(得分:4)
获取值需要访问方法。我们称该方法获取值,并继续与他合作(或者,例如,与某些东西进行比较)。
使用OOP原则的是封装原则 - 使用访问方法获取类的闭合字段的值。
此处我们希望看到一条信息性消息:
public void printCapacity(){
System.out.print("Capacity is 0");
}
在这种方法中,我们希望获得价值:
public int getCapacity(){
return this.capacity;
}
答案 2 :(得分:1)
你可以做你想做的事。但是在Java中,许多类在标准Java Beans specification上设置了defaut行为。
此行为的一部分描述了类成员的访问者。如果您使用bean getter的命名约定(即get / is +成员名称),如规范所描述但没有相关行为,则会使许多读者感到困惑。