これは API を理解するための試みであり、アーキテクトの判断を疑うものではないと考えてください。
のコンストラクターを参照すると、インスタンス化するために ofjavafx.event.Event
を渡す必要があります。私はこれを正しく読んでいますか?もしそうなら、これは循環参照ではないでしょうか?EventType
Event
Event
これは API を理解するための試みであり、アーキテクトの判断を疑うものではないと考えてください。
のコンストラクターを参照すると、インスタンス化するために ofjavafx.event.Event
を渡す必要があります。私はこれを正しく読んでいますか?もしそうなら、これは循環参照ではないでしょうか?EventType
Event
Event
いいえ、そうではありません。ジェネリック パラメーターはコンパイル時に解決されるためです。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.