Если я создаю экземпляр класса в Java, почему предпочтительнее статически вызывать статический метод этого же класса, а не использовать this.method ()?
Я получаю предупреждение от Eclipse, когда пытаюсь вызвать статический метод staticMethod () из конструктора пользовательского класса через this.staticMethod ().
public MyClass() { this.staticMethod(); }
против
public MyClass() { MyClass.staticMethod(); }
Может кто-нибудь объяснить, почему это плохо? Мне кажется, что компилятор уже должен был выделить экземпляр объекта, поэтому статическое выделение памяти было бы ненужным накладным расходом.
EDIT:
Суть того, что я слышу, заключается в том, что это плохая практика, главным образом из-за читабельности, и это понятно. На самом деле я пытался спросить (хотя и не очень четко), какие различия существуют при «компиляции», если таковые имеются, между вызовом MyClass.staticMethod () или this.staticMethod ().