
ты понимаешь разницу между классом и объектом? Это две разные вещи.
Это всё равно что если бы ты написал
var v1 = new Egg();
var v2 = new Egg();
как ты думаешь v1 и v2 равны? и где будут храниться данные если внутри класса будЕт статичная переменная?
public class Egg - это класс
new Egg() - это уже объект класса. Данные класса, или уже физический объект который мы можем пощупать и который уже не код. Которые хранятся уже в памяти, которые мы можем менять или уничтожить.
Вот у тебя есть чертёж табуретки, вот это класс. А когда ты сделал табуретку - это уже объект.
И даже если по чертежу ты сделаешь 2 табуретки - они будут отличаться на молекулярном уровне, это скорее всего можно будет даже измерить линейкой (даже если это делал станок).
то есть v1 никогда не будет равен v2, потому что они лежат в разных участках памяти и им выданы разные уникальные номера. Но ты можешь упростить сравнение и считать их одним (если это требуется в коде), но это лишь ты, а для компа это всё равно будут два разных объекта.
Ты думаешь тебе просто так говорят учи Java, ты бы за неделю её выучил, а потом за день сделал бы своё (ну за 2-3). И больше бы не делал таких глупых ошибок.
upd: статические переменные хранятся в чертеже, поэтому они никакого отношения к объекту "табуретка" не имеют. Я не уверен, но мне кажется они вообще хранятся в отдельном пространстве памяти. Это всё равно что ты бы в моде сделал переменную и хранил бы всё там, а из GUI к этому обращался, но ты наверняка обращаешься к ним через this, а их там нет... Или ты просто не поставил проверку на их отсутствие и твой GUi падает с ошибкой (а он должен их дождаться).
Теперь понятно?
Скажи спасибо аватару, яб не стал отвечать другому)))