無界通配符會被編譯爲Object,有邊界的通配符會被編譯爲相應的邊界
正常類的繼承是不會產生這個橋接方法的。
橋接方法,一個類、接口繼承或實現某個類、接口時,會在子類中出現一個橋接方法。
這個方法不能被子類調用,即mn不能調用到這個橋接方法,但是n可以調用這個橋接方法,這個方法內部實現爲setData((Integer)data);,執行n.setData(“123”)時,其實就是執行的是MyNode中的橋接方法,執行String到Integer的強轉,就會發生ClassCastException。
從上看來,橋接方法實現了方法的重寫,即mn調用setData時調用的是MyNode的方法,而且不能調用Node類中的setData方法。
但是通過n來調用setData()時確是先調用橋接方法,然後橋接方法中調用setData((Integer)data)方法,這樣就發生類型轉換異常。但是非泛型的那種類,沒有橋接方法,會直接調用子類的覆寫方法。