我需要初始化所有变量吗?

3

我想知道在Java中正确的做法是什么。

我的测试代码:

public class InitializeTest {
    int i;
    int b;
    int x;
    String frase;

    public static void main (String args[]) {
        InitializeTest IT = new InitializeTest();
        System.out.println(IT.i=IT.getI());
        System.out.println(IT.b=IT.getB());
        System.out.println(IT.x=IT.getX());         
            }

    public int getI(){
        return 3;}
    public int getB(){
        return 5;}
    public int getX(){
        return 8;}
}

我应该初始化变量 i,b 和 x 吗?如果不初始化会有什么改变?我已经阅读了相关内容,但对我来说并不清楚,有人能给我一个明确的答案吗?

我在这里阅读到了相关内容Do I really have to give an initial value to all my variables? ,但不知道 Java 是否也适用。


为什么你的getter方法返回硬编码数字?而且System.out.println(IT.i=IT.getI()); <-- 这段代码很混乱,也不是好的实践。恐怕这段代码从一开始就存在缺陷。 - Jeff Watkins
int变量默认情况下会被初始化为0。请查看此链接:https://dev59.com/L3E95IYBdhLWcg3wI6jt - M Sach
2个回答

7

谢谢,这是我想知道的其中一件事! - DavidM
5
本地变量略有不同;编译器从不为未初始化的本地变量分配默认值。因此,这个答案并不总是正确的。 - hamid

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接