一个类的方法冗余地返回该类的修改后的全局字段在 Java 中是一种好习惯吗?
注意:我编辑了下面的示例以更正我的代码。
例如:
public class MyClass {
private String veryImportantString;
public static void main(String [] args) {
MyClass myObject = new MyClass();
myObject.fieldQuestion();
}
public void fieldQuestion() {
veryImportantString = "Hello, StackOverflow";
String newString = addStringToVeryImportantString(" World!");
System.out.println(newString);
}
public String addStringToVeryImportantString(String inputStr) {
this.veryImportantString = veryImportantString + inputStr;
return veryImportantString;
}
}
在上面的示例中,addStringToVeryImportantString 正在返回veryImportantString,尽管它作为一个类字段已被修改并且对调用方法全局可用。
在下面的示例中,我做同样的事情而不返回该字段:
public class MyClass {
private String veryImportantString;
public static void main(String [] args) {
MyClass myObject = new MyClass();
myObject.fieldQuestion();
}
public void fieldQuestion() {
veryImportantString = "Hello, StackOverflow";
addStringToVeryImportantString(" World!");
String newString = veryImportantString;
System.out.println(newString);
}
public void addStringToVeryImportantString(String inputStr) {
this.veryImportantString = veryImportantString + inputStr;
}
}
我的问题是:重要吗?在编码标准、可读性、效率等方面有什么不同吗?在某种程度上,永远不要返回一个函数已修改的全局类字段是有意义的,因为这有什么意义呢?无论如何,该字段都可用。另一方面,返回字段可能是有意义的,以表明该函数的主要目的是修改该字段并返回值。
感谢您的输入。