在java中向成员变量传递值

在java中向成员变量传递值,java,class-members,Java,Class Members,为什么我们可以这样做: class A{int a=5;} 但不允许这样做: class A { int a; a=5; } 那就把它放在一个街区里吧 class A { int a; {a=5;} } 每次在类的实例中创建时,都会运行初始化块,例如 new A(); 当然,这是在与创建新实例相关的两个其他初始化之间进行的。 首先是字段的初始化,就像用值声明字段一样 int a = 25; 然后是块初始化 { a

为什么我们可以这样做:

class A{int a=5;}
但不允许这样做:

class A {
     int a;
     a=5;       
}

那就把它放在一个街区里吧

class A {
     int a;
     {a=5;}       
}
每次在类的实例中创建时,都会运行初始化块,例如

new A();
当然,这是在与创建新实例相关的两个其他初始化之间进行的。 首先是字段的初始化,就像用值声明字段一样

int a = 25;
然后是块初始化

{
  a = 5;
}
然后,构造器:

A() {
    a = 6;
}

那就把它放在一个街区里吧

class A {
     int a;
     {a=5;}       
}
每次在类的实例中创建时,都会运行初始化块,例如

new A();
当然,这是在与创建新实例相关的两个其他初始化之间进行的。 首先是字段的初始化,就像用值声明字段一样

int a = 25;
然后是块初始化

{
  a = 5;
}
然后,构造器:

A() {
    a = 6;
}

这回答了你的问题吗?好的,但a=5仍然没有意义;既然它们都能完成相同的任务,为什么要让编译器和JVM变得比它们必须的更复杂呢?为什么a