У меня есть определение класса n JAVA.
class ABC
{
public static final ABC A = new ABC();
public static final ABC B = new ABC();
}
Когда я вызываю новый ABC (), он работает без ошибок. Но если я уберу слово static, оно приведет к ошибке переполнения стека. Я знаю, что статические поля инициируются один раз. Но в этом случае сама инициализация является рекурсивной. Так что в идеале даже со статическим свойством он должен выдавать ту же ошибку. Можете ли вы кому-нибудь, пожалуйста, объясните. Спасибо!