在Java中,访问器方法总是需要返回一个值吗?

时间:2015-07-16 21:34:14

标签: java accessor

我想知道Java中的访问器方法是否总是需要返回一个值。因为你可以“访问”一个方法来打印等等。

例如,下面的方法可以被认为是类中的访问器方法吗?

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

3 个答案:

答案 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 +成员名称),如规范所描述但没有相关行为,则会使许多读者感到困惑。