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