public class MyClass {
public static void main(String args[]) {
new MyClass();
}
public MyClass() {
new MyClass();
}
}
В приведенном выше коде конструктор вызывается внутри одного и того же конструктора.Использование вызывающего конструктора внутри одного и того же конструктора
Вывод кода выше известен java.lang.StackOverflowError
, поскольку конструктор вызывается до тех пор, пока не произойдет ошибка.
Мой вопрос в том, каковы реальные сценарии, в которых полезно использовать конструктор внутри одного и того же конструктора?
Какова цель этого? Я лично считаю, что это бесполезно, пока и если у вас нет другого конструктора, который принимает параметр, то вызов их внутри другого конструктора имеет смысл. –
Когда логика этого хочет. Может быть, есть конструктор «Node», который автоматически хочет создать иерархию для только что созданной ноты и хотя вызывает другой перегруженный конструктор. – SomeJavaGuy