相关疑难解决方法(0)

一个类如何拥有自己类型的成员,这不是无限递归吗?

假设我定义了一个类,该类具有与其自身相同类型的变量作为成员.

public class abc {
    private abc p;
}
Run Code Online (Sandbox Code Playgroud)

这实际上是有效的,令我惊讶.

为什么我认为它不应该:创建一个实例abc,它包含一个类型的变量abc,其中包含一个类型的变量abc,其中包含一个类型的变量abc,其中.....

显然我错了,有人可以告诉我如何?

java oop class

44
推荐指数
3
解决办法
2万
查看次数

Stackoverflow是简单代码的原因

我的代码很简单,我正在尝试学习java / android studio,我不知道为什么我会得到一个stackoverflow:

public class Main {

    private String main_name = "dummy_string";
    private String name1 = "name1";
    private String name2 = "name2";
    private String name3 = "name3";

    private final Main[] Drinks={
        new Main(name1),
        new Main(name2),
        new Main(name3)
    };

    public Main(){}

    private Main(String name_value){
        this.main_name = name_value;
    }

    public  void get_value(int index){
        System.out.println(this.Drinks[index]);
    }

    public static void main(String[] args) {
        Main main_obj = new Main();
        main_obj.get_value(0);
        main_obj.get_value(1);
        main_obj.get_value(2);
   }  
}
Run Code Online (Sandbox Code Playgroud)

即使我没有进行任何递归调用,stackoverflow仍在发生。

java

0
推荐指数
1
解决办法
61
查看次数

标签 统计

java ×2

class ×1

oop ×1