【问题标题】:New object of class inside class's method [duplicate]类的方法内的类的新对象[重复]
【发布时间】:2012-01-02 06:40:04
【问题描述】:

可能重复:
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();
}

这里,在类的方法中创建类的对象。当新对象在里面创建时,它会创建新的成员和类对象(这里是b),这将再次创建成员,对象?这不会形成一条通往无限方法、对象和变量的链吗?

【问题讨论】:

  • 那是不同的。它在一个方法中
  • 其实不是,只是看起来和他的另一个几乎一模一样。确实,考虑到这里要问的内容,这更像是“不是问题”。
  • 在我看来,Anthony Pegram 的 cmets 在上一篇文章中回答了这两个问题。
  • 同意,因此“不是问题”。

标签: java class object


【解决方案1】:

当您创建MyClass 的新实例时,它本身不会导致再次执行main。事实上,唯一会执行的方法是构造函数本身和它调用的任何方法。因此,通常没有递归构造函数调用,也没有堆栈溢出(与您之前的问题不同)。 (当然,如果你喜欢看到你的程序崩溃,你可以编写你的构造函数以便有这样一个循环。)

【讨论】:

    【解决方案2】:

    必须显式调用该方法 - 因此,在您的情况下,仅在调用新对象时才会创建新对象。 没有链条!

    【讨论】:

      猜你喜欢
      • 2017-12-14
      • 2017-10-18
      • 1970-01-01
      • 2018-06-03
      • 2015-04-28
      • 2015-04-26
      • 1970-01-01
      • 1970-01-01
      • 2021-06-24
      相关资源
      最近更新 更多