2012-01-02 2 views
-5

Можно создать дубликат:
New object of class inside the classНовый объект класса внутри метода класса

В Java, или другие OOP Языки-

public class MyClass{ 
int a=5; 
public static void main (String args[]){ 
MyClass b=new MyClass(); 
} 

Здесь, создание объекта из класса внутри метода класса. Когда новый объект создается внутри, он будет создавать новые члены и объект класса (здесь), который снова будет создавать элементы, объекты? Разве это не приведет к цепочке, ведущей к бесконечным методам, объектам и переменным?

+0

Все было. Это внутри метода – onlinenaman

+0

Это на самом деле нет, он просто выглядит почти идентично его другому. На самом деле, это более «не вопрос», учитывая то, что здесь задают. –

+1

Как я вижу, на оба вопроса отвечают комментарии Энтони Пеграма в последнем посте. –

ответ

1

Когда вы создаете новый экземпляр MyClass, это само по себе не вызывает перезапуск main. Фактически, единственными методами, которые будут выполняться, являются сам конструктор и любые методы, которые он вызывает. Поэтому обычно нет рекурсивных вызовов конструктора и переполнения стека (в отличие от вашего предыдущего вопроса). (Конечно, вы можете написать свой конструктор так, чтобы был такой цикл, если вам нравится видеть, как сбой вашей программы.)

1

Метод должен быть вызван явно - следовательно, в вашем случае создание нового объекта выполняется только при его вызове. Нет цепи!

Смежные вопросы