この段階で、Java で根本的に新しい構文に遭遇することになるとは想像もしていませんでしたが、見よ、私は何かに遭遇しました:
正確なコンテキストと、以下のコードが何をすべきかはかなり無関係です - ある種のコンテキストを提供するためだけに存在します。
IT Mill Toolkit でイベントを合成的に作成しようとしているので、次のような行を書きました。
buttonClick(new Button.ClickEvent(button));
しかし、Eclipse から次のエラー メッセージが表示されます。
タイプ Button の囲んでいるインスタンスにアクセスできません。タイプ Button の囲んでいるインスタンスで割り当てを修飾する必要があります (egxnew A() ここで、x は Button のインスタンスです)。
上記の行を次のように書き直すと、もう文句はありません。
buttonClick(button.new ClickEvent(button)); // button instanceof Button
それで、私の質問は次のとおりです。後者の構文は正確には何を意味し、最初のスニペットが機能しないのはなぜですか? Java は何について不平を言っているのですか? 2 番目のバージョンでは何をしているのでしょうか?
背景情報:Button
とはどちらもButton.ClickEvent
抽象化されていないパブリック クラスです。