java入门错误 需要标识符

class Test2 {
int a;
a=10;

}
编译无法通过
class Test2 {
int a=10;

}
则可以通过

这是java的语法,在类里面只能声明和初始化方法和成员变量,但是不能直接加入操作,比如说int a是声明变量,int a=2是声明变量的同时进行初始化,而 a=2则是一个操作,在类这一层是不允许的,你可以在构造方法里面进行这样的操作:

 public class Test2 {

    int a;
    public Test2() {
        a=2;
    }

    public static void main(String args[]) {
        Test2 test2 = new Test2();
        System.out.println("a:"+test2.a);
    }
}

还有一个有意思的方法,如果你实在想写在外面的话,那就定义成静态变量吧:

 public class Test2 {

    static int a;
    static {
        a=2;
    }
    public static void main(String args[]) {
        System.out.println("a:"+a);
    }
}

static{}里面的东西在类进行加载的时候就会进行执行

你的JDK 版本太低了吧

a=10; 应该不能写在类里吧..前面也没个类型 修饰

语法错误,Java类定义中只能声明成员变量,对成员变量的赋值操作只能在三个地方:
1,定义成员变量时直接赋值
2,类的构造函数中初始化成员变量
3,非静态代码块中,可以在类定义的任何地方使用{}在其中编写代码块的。
修改你的赋值语句放在括号里面就可以了。如下:
{
a=2;
}

class Test2 {
int a;
a=10;
}
编译无法通过是因为 int a; 定义了一个类的全局变量。但对此全局变量的使用,必须放在类的成员函数中。如:

 class Test2 {
  int a;
  void Test()
  {
      a=10;
  }
}

class Test2 {
int a=10; // 定义类中全局变量的同时赋值是可以的
}

类里面有属性和方法,不能直接写表达式,要放到静态块,不然报错

在静态代码块中也可以对变量a进行赋值的!

网站还不错
网址是:

网址是

夏泽网

第二种属于定义时初始化没有问题,第一种代码先初始化,但赋值语句必须写在方法里

类里面只能声明和初始化方法和成员变量

同学,语句在哪写呢?
语句只能写在方法的块内或者是类的static块内

你见过在成员定义的地方还进行语句编写

编写的语句怎么执行啊