java类实例

标签 java recursion

我有一个简单的 Java 理论问题。如果我编写一个包含 main() 方法以及其他一些方法的类,并且在该 main 方法中调用该类的实例(例如 new Class()),我会有点困惑为什么不发生递归。假设我正在编写一个图形程序,其中类中的其他方法创建一个窗口并绘制数据;在 main 方法中,我调用类本身的一个实例,但只出现一个窗口。这很好,这就是我想要的,但直觉表明,如果我从类内部创建类的实例,则应该发生某种递归。是什么阻止了这一点?这是一个示例(在我看来,我想知道什么可以防止不必要的递归):

     public class example{
         method1(){create Jpane}
         method2(){paint Jpane}
         method 3(){do some computations}

         public static void main(String[] args){
            new example(); // or create Jblah(new example()); 
         }
      }

最佳答案

我认为您将 main 方法(它只是程序的入口点)与构造函数混淆了。

例如,如果您写道:

public class Example {
    public Example() {
        new Example(); // Recursive call
    }

    public static void main(String[] args) {
        // Will call the constructor, which will call itself... but main
        // won't get called again.
        new Example(); 
    }
}

然后就会爆炸。

关于java类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14758515/

相关文章:

java - CCAvenue 付款错误代码 10002 商户身份验证失败。别担心......它发生在我们最好的人身上

javascript - 使用带有 while 循环的递归的奇怪结果

javascript - Lodash 递归函数超出最大堆栈大小

java - 与 ListView 适配器的混淆

java - PHP 中的 256 位 AES 解密

java - 我需要同步这个吗

java - 在 Tomcat 中触发内部 ServletRequest

recursion - 尾递归堆栈溢出

JavaScript 从递归调用函数中获取调用堆栈参数

python - Django 1.5 扩展 admin/change_form.html 对象工具