类中变量范围的最佳实践是什么?

时间:2015-04-26 20:46:35

标签: java variables static scope local

我的老师的源代码已经发布了,当我看到这个时我很困惑:

从静态变量实例化的新局部变量,然后在方法中使用该变量并将其作为参数传递给另一个方法,然后将其新值设置为该副本所基于的相同静态变量。由于静态变量的范围可以在整个类中访问,为什么不直接从该类中的每个方法访问静态变量?

为什么这样做:

public class Calculator {

    private JTextField displayText;

    public void actionPerformed(ActionEvent e) {

        String input = displayText.getText();    

        if (something == right) {
            for (int i = 0; i < 10; i++) {
                enterNumber(input);    
            }
        }
    }

    public void enterNumber(String input) {  

        displayText.setText(input); 
    }
}

如果你可以:

public class Calculator {

    private JTextField displayText;

    public void actionPerformed(ActionEvent e) {

        if (something == right) {
            for (int i = 0; i < 10; i++) {
                enterNumber();
            }
        }
    }

    public void enterNumber() {

        String localVar = "Kitten";
        displayText.setText(localVar);
    }
}

1 个答案:

答案 0 :(得分:-1)

在这个确切的例子中,你是对的,在输入数字方法中有一个参数是没有意义的。

但是当你开始处理更复杂的程序时,你会开始注意到你最终反复使用相同的功能,你可以在其中使用带参数的方法,这样你就可以轻微地执行相同的操作变化

如果你有一个带参数的方法,那么对其他人来说也更容易阅读,因为所有你需要做的就是说,&#34;好吧我调用方法并将其发送空白,它将值设置为任何我发送它。&#34;,而不是说&#34;好吧我调用方法,现在让我们看看方法的作用。&#34;

如果你的代码有效,那么代码就不错了。但如果它有效且易于阅读,那么它就是很好的代码。