Gibt es so etwas in Java?

... komplette Frage anzeigen

3 Antworten

Ich kann mir nicht vorstellen, dass etwas derartiges kommen wird, da man dieses Konstrukt dann an nichts binden kann, sprich:

C myNewClass = newType();

ginge nicht. Da C nirgends als Klasse definiert ist.

Auch wenn von der Theorie dann in deinem Beispiel folgendes möglich wäre:

newType().test();

Persönlich halte ich die aktuelle Möglichkeit dafür eigentlich noch am Sinnvollsten:

public class MyClass {
public static class ClassC { public void test(){System.out.println("Test")}; public void test2(){System.out.println("Test2")}; public static void test3(){System.out.println("Test3")}; }
}

Da du dies ähnlich verwenden kannst:

MyClass.ClassC classC = new MyClass.ClassC();
classC().test();

bzw.:

MyClass.ClassC.test3();
Antwort bewerten Vielen Dank für Deine Bewertung

Alle Klassen die du definierst, werden als CLASS-Datei abgelegt, außer Lambdas, die scheinen zur Laufzeit erzeugt zu werden.

Antwort bewerten Vielen Dank für Deine Bewertung

Warum nicht einfach die Klasse C mit den beiden Methoden definieren und dann ein Objekt davon erzeugen?

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?