Я пишу простой код и Я получаю StackOverflowError в следующем коде в строке 2: Tmp4 t = new Tmp4();
я не получаю ошибку, если я опускаю линии 6 (инициализация p
) или на Omiting линии 2. Кроме того, я я не делаю рекурсивный вызов.StackOverflowError в Java коде
Я хочу спросить, почему он дает такую ошибку. И при отсутствии строки 2 или строки 6 она не дает StackOverflowError.
Также он дает только мою систему или проблему с кодом.
Спасибо.
public class Tmp4 {
Tmp4 t = new Tmp4();
public static void main(String[] args) {
System.out.println("main");
Tmp4 p = new Tmp4();
System.out.println("main2");
}
}
Это как вызов себе снова и снова (неконтролируемая рекурсия)? – IDontKnow006
Спасибо MMike за это – IDontKnow006
@ IDontKnow006 да, строка 4 заставляет себя звонить снова и снова. Добро пожаловать. :) – MMike