首页新闻找找看学习计划

Illegal modifier for parameter i; only final is permitted

0
[待解决问题]

public class Test {
    public  int aMethod() {
        static int i = 0; // Illegal modifier for parameter i; only final is permitted
        i++;
        return i;
    }

    public static void main(String args[]) {
        Test test = new Test();
        test.aMethod();
        int j = test.aMethod();
        System.out.println(j);
    }
}

老师给的代码,问运行后会输出什么。还没运行就报错了,报的错误

Illegal modifier for parameter i; only final is permitted

请问这是为什么

木易·月的主页 木易·月 | 菜鸟二级 | 园豆:202
提问于:2015-10-22 21:28
< >
分享
所有回答(3)
0

方法内部不能有静态变量吧,得 static int i = 0;把这句话往上挪一行,放到类里面。

之奇一昂 | 园豆:1421 (小虾三级) | 2015-10-23 08:10

这句话就是在方法里的,这样写为什么不可以呢?static int i = 0;放在方法里 应该怎么改

支持(0) 反对(0) 木易·月 | 园豆:202 (菜鸟二级) | 2015-10-23 10:07

@木易·月: 去掉static

支持(0) 反对(0) 之奇一昂 | 园豆:1421 (小虾三级) | 2015-10-24 00:23

@之奇一昂: 谢谢啦

支持(0) 反对(0) 木易·月 | 园豆:202 (菜鸟二级) | 2015-10-25 00:16
0

你这样做的话,你编译都通不过。static是个静态的。就是个全局变量,你放在方法里面不就成了局部变量。因此就错了

lynn少 | 园豆:206 (菜鸟二级) | 2015-11-11 10:39
0

下列修饰符不能在方法体中使用:

访问修饰符:private,protected,public

静态修饰符:static

抽象:abstract

乐享程序员 | 园豆:930 (小虾三级) | 2015-11-22 20:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册