Java - это так называемый объектно-ориентированный язык. Для всех «статических» членов, определенных в классе с именем, скажем, «Movie», существует один из них независимо от того, сколько объектов фильма создано. Но для обычных (нестатических) членов существует один на каждый созданный объект.
Итак, когда вы пишете Class1 class1 = new Class1();
, вы создаете новый объект class1 и, таким образом, копию каждого нестатического члена внутри,Это означает, что в вашей среде выполнения есть как минимум 2 экземпляра объекта class1, и когда вы говорите test1 = false
, вы обновляете поле test1, являющееся частью другого объекта, по сравнению с тем, которое читается другим классом.
Решение? Передать экземпляр class1 какому-либо методу (или конструктору) class2, или, возможно, использовать статическое поле или, возможно, другое решение;вы не вставили достаточно кода, чтобы сделать осмысленное предположение о том, какой здесь лучший подход.