我有一个班级和年龄领域。但是,当我更改对象的年龄时,该类的所有其他对象也会更改。
private static int age;
任何人都可以帮助解决这个问题吗?
静态变量是类变量,因此,static
从变量声明中删除:
private int age;
根据 java 文档:
声明中带有 static 修饰符的字段称为静态字段或类变量。它们与类相关联,而不是与任何对象相关联。类的每个实例共享一个类变量,该变量位于内存中的一个固定位置。
利用:
private int age;
静态变量在所有实例之间共享。
静态成员属于整个类,所以如果你改变它,所有的实例都会受到影响。
利用
private int age; // without static.