ich nicht vorstellen, dass ich radikal neue Syntax in Java mehr in diesem Stadium auftreten würde, aber siehe da, ich habe gerade begegnet etwas:merkwürdige Syntax für eine innere Klasse instanziieren
Den genauen Zusammenhang und was die Code sollte tun, ist ziemlich irrelevant - es ist da, nur um eine Art von Kontext zu geben.
Ich versuche, diese Art von Linie zu synthetisch ein Ereignis in der IT-Mühle Toolkit zu erstellen, so schrieb ich:
buttonClick(new Button.ClickEvent(button));
Aber Eclipse gibt mir die folgende Fehlermeldung:
Auf eine umschließende Instanz des Typs Schaltfläche kann nicht zugegriffen werden. Muss die Zuordnung mit einer umschließenden Instanz vom Typ Button qualifizieren (z. B. x.new A(), wobei x eine Instanz von Button ist).
Wenn ich die Zeile oben wie folgt umschreiben, sie beschweren sich nicht mehr:
buttonClick(button.new ClickEvent(button)); // button instanceof Button
Also, meine Frage ist: Was bedeutet diese Syntax bedeutet, genau, und warum nicht der Fall ist die erste Schnipselarbeit? Worüber beschwert sich Java und was macht es in der zweiten Version?
Hintergrundinformationen: Sowohl Button
als auch Button.ClickEvent
sind nicht abstrakte öffentliche Klassen.
Interessante Frage, aber der Titel vielleicht anspruchsvoller sein könnte. – mafu
Sie können diese vorschlagen. Ich wusste damals nicht, wie ich die Syntax nennen sollte, also blieb der Titel leider seltsam. –