250422-变量初始化

1. 哪些有编译错误

第一个

public class Test {  
    static int b;  
    public static void main(String args[]) {  
        int a = 10;  
        int c;  
        if (a > 50) {  
            b = 9;  
        }  
        c = b + a;  
    }  
}

第二个:

public class Test {  
     int b;  
    public static void main(String args[]) {  
        Test test =new Test();  
        int a = 10;  
        int c;  
        if (a > 50) {  
            test.b = 9;  
        }  
        c = test.b + a;  
    }  
}

第三个:

public class Test {  
    public static void main(String args[]) {  
        int a = 10;  
        int b;  
        int c;  
        if (a > 50) {  
            b = 9;  
        }  
        c = b + a;  
    }  
}

第四个:

public class Test {  
    static int b;  
    public static void main(String args[]) {  
        Test test =new Test();  
        int a = 10;  
        int c;  
        if (a > 50) {  
            Test.b = 9;  
        }  
        c = Test.b + a;  
    }  
}