参数计数的非法修饰符;只有决赛是允许的

时间:2014-04-11 12:02:28

标签: java

我是Java的新手,我有一个问题,当我尝试创建一个公共/私有变量 例:     private int varName; Eclipse给了我一个错误:     Illegal modifier for parameter count; only final is permitted

3 个答案:

答案 0 :(得分:8)

局部变量和参数不能包含publicprivate修饰符。您只能向他们提供final。甚至不能使用static

答案 1 :(得分:4)

您无法在方法参数上应用访问级别修饰符。只有班级成员才能接受。此外,这没有任何意义,因为参数不可能在方法范围之外访问。

答案 2 :(得分:0)

这种情况通常发生在我们尝试访问本地变量时,我们尝试在下面的匿名类方法中访问它:

JButton button=new JButton();
        int a=5;
        button.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent arg0) {
                // TODO Auto-generated method stub
                System.out.println(""+a);//Compiler Error:Cannot refer to a non-final variable a inside an inner class defined in a different method
            }
        });

所以这里变量“a”需要是final或Class变量才能在Anonymous类方法中访问。