これは API を理解するための試みであり、アーキテクトの判断を疑うものではないと考えてください。
のコンストラクターを参照すると、インスタンス化するために ofjavafx.event.Eventを渡す必要があります。私はこれを正しく読んでいますか?もしそうなら、これは循環参照ではないでしょうか?EventTypeEventEvent
これは API を理解するための試みであり、アーキテクトの判断を疑うものではないと考えてください。
のコンストラクターを参照すると、インスタンス化するために ofjavafx.event.Eventを渡す必要があります。私はこれを正しく読んでいますか?もしそうなら、これは循環参照ではないでしょうか?EventTypeEventEvent
いいえ、そうではありません。ジェネリック パラメーターはコンパイル時に解決されるためです。Event実行時には、コンストラクターには何も渡されませんが、 EventType.
あなたが意味する意味ではありません。
EventType インスタンスは、他の EventType インスタンスを参照できますが、Event インスタンスを参照することはできません。メソッド/コンストラクターのパラメーターと戻り値の型に細心の注意を払いながら、EventType のコンストラクターとメソッドを見てみましょう。
これは周期的なものではありませんが、理解するには本当に、本当に多くのことを考える必要があります。
あなたが提供したjavadocから:
Event(EventType<? extends Event> eventType)
Construct a new Event with the specified event type.
はEventType<? extends Event>、「特定のタイプのイベントで機能する EventType」と読む必要があります。
これは、説明のより良い仕事をする別のSOの回答です<? extends Class>: https://stackoverflow.com/a/3009779/463196
たとえば、FooEventを拡張する があるとしますEvent。EventTypeで動作する がありますFooEvent。
また、JavaDoc for を見ると、次のように書かれEventTypeています。
This class represents a specific event type associated with an Event.