Why am I getting a StackOverflowError exception in my constructor

后端 未结 3 611
温柔的废话
温柔的废话 2020-12-06 13:52
public class Cloning {

    Cloning c=new Cloning();
    public static void main(String[] args) {

        Cloning c=new Cloning();
        c.print();
    }

    pub         


        
3条回答
  •  再見小時候
    2020-12-06 13:58

    Didn't you mean to write static Cloning c = new Cloning(); outside main, or c = new Cloning(); within main instead?

    Otherwise, you'll get a new instance of c each time this is run, which will cause a StackOverflowError.

    Currently the creation of the local c in Cloning c = new Cloning(); (which shadows the field c) kicks the whole thing off.

提交回复
热议问题