Допустим, я создаю экземпляр класса B, который имеет статическую переменную x, которой присвоено значение 3 в объявлении класса B. В методе main () я делаю это:
B b = new B();
b.x = 7; //allowed to use an instance to set the static member value
После этого b сериализуется, а затем десериализуется. Затем происходит следующая строка:
System.out.println ("static: " + b.x);
Какое значение? 7 или 3?
Я знаю, что статические переменные не сериализуются, так как для всего класса существует только одна копия статического члена и значение равно 7, должно ли оно сохраняться после десериализации экземпляра?