Java笔试题(5)

class Test{
    int getValue(){
        static int i=0;
        i++;
        return i;
    }
    public static void main(String[] args){
        Test test = Test();
        test.getValue();
        int j = test.getValue();
        System.out.println(j);
    }
}

输出结果?

刚开始做的时候以为虽然getValue方法中的i是静态的,但i属于方法中的局部变量,main方法中调用2次该方法,结果还是输出1;

看完答案我蒙了,原来方法里的局部变量不能使用static修饰,这段代码编译时就会报错。

猜你喜欢

转载自www.cnblogs.com/myibu/p/9692270.html