Illustration einer tropischen Insel mit Palmen und einem hohen Berg

Java Blog für Programmierer

Denksportaufgabe this/this()

· Christian Ullenboom

Lässt sich irgendwie als erstes im Konstruktor

this.(ausdruck)

schreiben, um einen Pokal für die schlechteste Zeile Code zu gewinnen?

Kategorien: Allgemein

3 Kommentare

Marcel_2 ·

Eine "Lösung" mal abgesehen davon, dass ich meinem Vorredner zustimme ist eine statische Methode aufzurufen...: ```java public class Main { public Main() { this.print(); } private static final void print() { System.out.println("Pfui!"); } public static void main(final String\[\] args) { new Main(); } } ```

JVM ·

Die Lösung ist dass jeder Ausdruck welcher nicht eine Zuweisung eines Attributes ist grundsätzlich schlecht ist. Bei einer Klasse welche final ist lässt sich darüber diskutieren ob z.B. der Aufruf einer Methode im Konstruktor "legal" ist. Ein Konstruktor ist da um eine Instanz zu erzeugen und für nix anderes. Der einfache Grund ist das "this" nicht fertig konstrutiert ist sondern "am konstruieren ist". Man Suche auch nach dem Thema "this escape" bei der Suchmaschine seines Vertrauens. Ist nix neues.

Die bisherigen Kommentare wurden aus WordPress übernommen. Neue Kommentare sind derzeit geschlossen.

← Alle Beiträge