我是否必须初始化所有变量?

Dav*_*idM 3 java variables

我想知道用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;}
}
Run Code Online (Sandbox Code Playgroud)

我应该初始化变量i,b和x吗?如果没有改变什么?我读到了这个但是我不清楚,有人能给我一个明确的答案吗?

我在这里读到了我真的必须为我的所有变量赋予初始值吗?,但不知道Java是否相同.

Sim*_*mon 7

Java类字段基元初始化为默认值,对象初始化为null.因此数字类型初始化为0.

访问未初始化的局部变量将给您一个编译器错误.

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html 请参阅"默认值"部分

  • 局部变量略有不同; 编译器永远不会为未初始化的局部变量分配默认值.所以这个答案并非总是如此. (5认同)