Hacker News new | ask | show | jobs
by jdbernard 3471 days ago
Works just fine if you change:

    this.test(7);
    test(10);
to

    test(10);
    this.test(7);
Of course, since this is a made-up example to highlight one of your pet problems I don't know if that ordering is important to you. However there is a reason for the insistence on calls to the constructor being first, and it's not specific to Java. You run into this problem any time you have code that might mutate a data structure before if has been initialized. There are other ways to write this kind of code that avoids this, but it is by no means unusual in imperative code.