java的event是長這樣:
public interface Event<T>{
......
public void fire(T event);
......
}
若現在定義一個新的event:
public class TestEvent implements Serializable {
......
}
並宣告一個屬性,長成以下這樣:
private Event<TestEvent> testEvent;
那以下的code是可以正常觸發事件的,其實就是觸發testEvent:
testEvent.fire(new TestEvent(......));
那我想請問,為什麼testEvent明明只是TestEvent類別,並沒有繼承或實作Event類別,
那為何testEvent是可以呼叫Event類別的fire方法卻不會出錯呢?
感覺是跟泛型有關,但是又想不通原因,請問邏輯或是原理是什麼呢?