一、类型擦除


【解释】我们可以看到多了一个eat(Object s)方法,该方法就是虚拟机自动给我们生成的桥接方法。
答:采用桥接方法。
二、桥接方法
public class Node<T> {
public T data;
public void setData(T data) {
this.data = data;
}
}
public class MyNode extends Node<Integer> {
@Override
public void setData(Integer data) {
}
}public class Node {
public Object data;
public void setData(Object data) {
this.data = data;
}
}
public class MyNode extends Node {
public void setData(Integer data) {
super.setData(data);
}
// 桥接方法,被编译器自动生成
@Override
public void setData(Object data) {
setData((Integer) data);
}
}
