2
假設我有一個類Foo
像這樣:可變參數與Java繼承
public class Foo<T> {
protected T invoke(Object... args);
}
現在假設我補充一點:
public class Bar<T, Arg> extends Foo<T> {
public T invoke(Arg arg);
}
這是否意味着我不能創建一個Bar<T, Object[]>
因爲它會創建兩個invoke()
方法與「本質上」相同的簽名?或者在這種情況下Bar.invoke()
安全地隱藏Foo.invoke()
(因爲Bar.invoke()
是運行方式,取Object
而不是Object[]
的Foo.invoke()
)?
與此相關:正在轉發Bar.invoke()
到Foo.invoke()
安全和罰款?
你想解決什麼問題?這看起來比任何SCJP問題都難。 – Adam