请大家帮我分析以下这段代码,那里错了?class test1
{
public test1()
{

}

public void kk1()
{
    final int z=1;

    class k1
   {
       z++;
    }
         }
public static void main(String args[])
{
test1 y=new test1();
y.kk1();
}
    }
老是报这个错,不知道是怎么回事:
G:\java>javac ak47.java
ak47.java:39: <identifier> expected
                                                z++;
                                                 ^
1 error

解决方案 »

  1.   

        class k1
       {
           z++;
        }
      

  2.   

    final int z=1;
    这行代码是声明z是一个常量他的值是不可以更改的,可你程序中又给它z++,当然会出错了.
    要想z++
    就把final去掉。
    int z=1;
      

  3.   

    class k1
    {
         z++;
    }
    这是什么语法?
      

  4.   

    class k1
    {
         z++; //类里不能直接有表达式
    }
      

  5.   

    可是将 z++;改成 System.out.println(z);还是要报错呢?
    G:\java>javac ak47.java
    ak47.java:39: <identifier> expected
                                                    System.out.println(z);
                                                                      ^
    1 error
      

  6.   

    class k1
    {
         z++; //类里不能直接有表达式
    }对头!而且不只这一个错误
      

  7.   

    可是将 z++;改成 System.out.println(z);还是要报错呢?
    class k1 
    {
      System.out.println(z); //这里只能定义函数或变量,不能执行语句
                             // 与 z++同理
    }