你所说的并不完全是内存分配的工作原理。class A{int a = 10;}在上面的示例中,您创建了一个类。类中的成员仅在创建其对象后才创建并分配其值,除非将成员声明为静态。因此,在您发布的第二个示例中,在构造 A 类的对象“a”之后,变量“a”被赋予值 10。如果你还是不明白,那么运行这段代码:class A{int a = 10;public static void main(String args[]){A a = new A();A b = new A();b.a += 10;System.out.println(a.a);System.out.println(b.a);}}如果变量 a 在创建对象之前被赋值,那么当对象 b 修改它时,打印的变量就会改变。但如果你运行这个,输出将是:1020这意味着变量仅在对象创建后才分配。我希望这能消除您的疑虑。还有另一个提示,静态变量不能修改。