когда я запускаю ниже программон должен быть StackOverflowError или OOME
class Person{
Person p;
Person(){
System.out.println("Hi");
p = new Person();
}
}
public class Main {
public static void main(String[] args) {
new Person();
}
}
он бросает StackOverflow ошибки , но я ожидал, что это будет OOME, как мы работаем с созданием объекта, а не с каким-либо локальным методом/переменным или задающее
Похоже, вы пытаетесь создать объект person в конструкторе класса person и, похоже, вы входите в бесконечный цикл. – jpw