Stackoverflow 是由简单的代码引起的

Stackoverflow being cause with simple code

我的代码非常简单,我正在尝试学习 java/android studio,我不明白为什么会出现 Whosebug:

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);
   }  
}

即使我没有进行递归调用,Whosebug 正在发生。

你的问题是:

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

您正在创建 Main class,其中包含 Drinks 数组,其中包含 Main 的实例,每个实例都必须具有 Drinks 数组,并且等等。