当前位置: 代码迷 >> Eclipse >> java报错: 参数 num 的修饰符不合法;只允许使用终态解决办法
  详细解决方案

java报错: 参数 num 的修饰符不合法;只允许使用终态解决办法

热度:844   发布时间:2016-04-23 14:05:11.0
java报错: 参数 num 的修饰符不合法;只允许使用终态
public class c_test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
int i = 0;
for(i=0;i<5;i++){
int j = getCallNum();
if(j>2){
break;
}
System.out.print(i);
}
}
static int getCallNum()
{
static int num=0; //这条语句报错 : "参数 num 的修饰符不合法;只允许使用终态"
num++;
return num;
}
}

------解决方案--------------------
把static int num=0;定义一个static int getCallNum() 中,需要使用终态,如果把static int num=0定义在方法的外面就不会报错了,
如果把static int num=0定义在方法的外面运行的结果是:0 1


------解决方案--------------------
final
------解决方案--------------------
错误提示是
"Illegal modifier for parameter num; only final is permitted"

"参数 num 的修饰符不合法;只允许使用终态" 
这句话也只是IDE的建议 事实上 象你这个例子 肯定不能用final了

仔细看看有关final static 的用法





------解决方案--------------------
终态就是指用final修饰的,
比如你的程序里的变量只能用final来修饰,
也就是说可以final int num = 0;
由于num被final修饰,所以它是常量,不能用来改变
所以num++;是不可以的
也可以不对num进行任何修饰,如:int num = 0;等...
------解决方案--------------------
回上楼,当然能定义静态变量
  相关解决方案