当前位置: 首页 > 面试题库 >

什么时候可以在该类的方法内创建该类的对象?

干京
2023-03-14
问题内容
public class TestClass(){
    public static void main(String []args) {
        TestClass t1 = new TestClass();
        t1.anything();
    }
}

在同一个类的定义中创建对象并不奇怪吗?因为然后作为响应-该对象创建了一个新对象,然后该新对象创建了另一个对象,并且无限循环直到存储空间已满才开始永不结束。


问题答案:

在同一个类的定义中创建一个对象是否比响应该对象创建一个新对象并不奇怪,然后这个新对象创建另一个对象,并且无限循环开始

不,主方法仅在运行程序时运行一次。它不会再次执行。因此,该对象将仅创建一次。

认为您的主要方法超出了您的课堂范围。它将创建您的类的实例,并使用创建的实例。因此,当您从main方法创建实例时,将调用构造函数以初始化实例的状态,然后在构造函数返回时,将执行main方法的下一条语句。

实际上,您可以认为main方法不属于类实例状态的一部分。

但是,如果您在构造函数中创建了类的实例(例如0-arg),并且将该引用作为实例引用变量,则将变成无限递归。

public class A {
    private A obj;
    public A() {
        obj = new A();  // This will become recursive creation of object.
                        // Thus resulting in StackOverflow 
    }
}


 类似资料:
  • 萨拉姆! 在java中,我需要在该类中创建一个类的ArrayList。有可能吗???正如我所知,如果我在该类构造函数中创建一个类的对象,那么它将导致StackOverFlow。下面给出了问题的完整细节。如何在BookInfo类本身中创建该类的ArrayList??? 问题声明: 您需要编写一个java程序,该程序只包含两个名为BookInfo和BookMgtSys的类。 BookInfo类必须具有

  • 问题内容: 我已经用python编程了大约两年了。主要是数据资料(熊猫,mpl,numpy),还有自动化脚本和小型Web应用程序。我试图成为一个更好的程序员,并增加我的python知识,而困扰我的一件事是我从未使用过一个类(除了为小型Web应用程序复制随机烧瓶代码外)。我通常理解它们是什么,但是我似乎无法为为什么在一个简单的函数中需要它们的问题而wrap之以鼻。 为了使我的问题更具针对性:我编写了

  • 这是一个非常基本的OOP问题。但我对全班的行为不太清楚。所以假设我有a类: 现在,当我调用类A的方法输出: 产出将是: 附注。希望我洗清了自己的罪名。

  • 问题内容: 我是OOP范式的新手,所以可能对此问题有一个简单的解释… 您是否总是需要在类中声明公共对象范围的变量?例如: 在此代码中,即使是唯一声明的变量,也一样可访问和可用-似乎就像我将其声明为public一样。 如果未声明的类变量始终可以这样访问,那么将它们全部预先声明的意义何在? 问题答案: 该变量不是未初始化的,只是未声明的。 在类定义中声明变量是提高可读性的一种方式。另外,您可以设置可访

  • 问题内容: 我刚刚发现了Java中的本地类: 我确实碰到过这样的评论:本地类的优点),列出了本地类相对于匿名内部类的一些巨大优点。 您可以使用匿名内部类无法获得的本地类做很多事情。 另一方面,它们使某些冗长的语法更加混乱。 我的问题是,在许多情况下,这种技术似乎比非匿名内部类具有优势。我的意思是:如果您的类仅在方法范围内有用,则可以使用本地类。但是当您的方法变得如此复杂时,您需要开始在其中定义自定

  • 问题内容: 什么时候应该创建一个检查异常,什么时候应该创建一个运行时异常? 例如,假设我创建了以下类: 我应该如何创建我的?它应该扩展还是?还是我应该只使用它? 问题答案: 在这个话题上有很多分歧。在我的上一份工作中,我们遇到了一些实际问题,运行时异常被遗忘了,直到它们出现在生产环境中(在ageswards.com上),因此我们决定只使用已检查的异常。 在我目前的工作中,我发现在很多情况下都有很多