Illegal modifier for parameter i; only final is permitted

package com.choice;

public class Test {
    public int aMethod() {
        static int i = 0;//报错
        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

原因是用了public,private,static等修饰词去修饰方法内部变量,然而在java类的方法里声明变量时,只能用final修饰(only final is permitted)(或者不加修饰)。除此之外不能用其他的修饰符修饰,包括static也会报同样的错误。

public,private等是声明作用域的。方法内部定义的变量(只能在方法内部使用),在里面声明作用域无意义,也禁止声明。
 

 

你可能感兴趣的:(java语法)