大家好,我想在main函数中定义一个public变量,系统报错说“Illegal modifier for parameter chatRoom, only final is permitted”,如果把public去掉,编译成功。可是就算去掉public,我的变量也不是final啊,因为我之后还改了它。为什么系统说它必须是final呢?

解决方案 »

  1.   

    public放在类定义中修饰方法或者field,再一个场合就是修饰class
    不能放在method中.
      

  2.   

    only final is permitted
    只有final是允许的,不是必须
      

  3.   


    顶!我加点:
    only final is permitted
    系统的意思是说,如果你在main函数里的变量前要加修饰符的话,就只能加final,这样的话,你这个变量就是final的
    但如果你变量前什么也不加的话,那这个变量就是一个普通的变量,并非final的
      

  4.   

    不只是main方法里,在任何方法里定义变量都不能声明public,public是声明做用域的,而方法内部定义的变量只能在方法内部使用(做参数传出不算),在这里声明作用域无意义,也就禁止声明only final is permitted 
    译:仅仅final是允许的
    意思是在方法内部声明变量只能在需要的时候用final修饰,除此之外不能用其它修饰符修饰,包括static,也会报同样的错误