Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,访问器方法是否总是需要返回值?_Java_Accessor - Fatal编程技术网

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

在Java中,访问器方法是否总是需要返回值?,java,accessor,Java,Accessor,我想知道Java中的访问器方法是否总是需要返回一个值。因为你可以“访问”一个方法来打印等等 例如,下面的方法可以被视为类中的访问器方法吗 public static void getCapacity(){ System.out.print("Capacity is 0"); } 不严格地说,但这确实违反了惯例。从技术上讲,您不是在访问数据,而是在显示数据。需要访问方法来获取值。我们调用该方法来获取值,并继续与他一起工作(或者,例如,与某物进行比较) OOP原则之一是封装原则——使用访

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

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

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

不严格地说,但这确实违反了惯例。从技术上讲,您不是在访问数据,而是在显示数据。

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

OOP原则之一是封装原则——使用访问方法获取类的闭合字段的值

在这里我们希望看到一条信息丰富的信息

public void printCapacity(){
    System.out.print("Capacity is 0"); 
} 
public int getCapacity(){
    return this.capacity;
}
在这种方法中,我们希望得到值

public void printCapacity(){
    System.out.print("Capacity is 0"); 
} 
public int getCapacity(){
    return this.capacity;
}

你可以做你想做的事。但是在Java中,许多类在一个标准上设置它们的defaut行为,即


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

如果使用访问器,则不会访问该方法;你在用它。使用访问器通常访问目标对象/类的某些状态。而且方法可以用给定的名称做很多事情,所以不要依赖它来决定该方法。我不认为这是一个访问器方法。如果我在正在处理的代码中遇到这个问题,我会立即重命名这个方法
getFoo()
按照惯例返回“foo”的值,否则任何试图阅读/使用代码的人都会感到困惑。我同意@azurefrog。这种方法更像是一种
showcacity
方法。当然,我也同意@azurefrog-我将这种方法称为
printcacity()