У вас есть какие-либо идеи, почему следующий код:Интересная функция со статическими полями. StackOverflow исключение
public class A
{
public static int i = B.i + 1;
}
public class B
{
public static int i = A.i + 1;
}
Наличие:
int aa = A.i;
int bb = B.i;
Говорит, что аа = 2 (!!!) и бб = 1.
У меня в голове голова НАЗАД !!! Насколько я понимаю, рекурсия останавливается на статических методах, но почему? Если вы переделаете int i в геттеры (чтобы отлаживать и понимать, почему на земле это работает так), вы получаете исключение переполнения стека.
Полиморфизм особенность? – bzlm
Не знаю, почему это изменилось. –