Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It has to because the analysis to detect that fields are initialized in the constructor body is unsound. Since you have access to `this` inside the constructor, you can call other instance methods which may access fields before they have been initialized.

Java has the same problem.

(Dart, which I work on, does not. In Dart, you really truly can't observe an instance field before it has been initialized.)



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: