パラメータの型がスーパークラスで対応するパラメータの型と正確に合致していないので、サブクラスのメソッドはスーパークラスの類似したメソッドをオーバーライドしていません。
たとえば、以下のようなコードです。
import alpha.Foo; public class A { public int f(Foo x) { return 17; } } ---- import beta.Foo; public class B extends A { public int f(Foo x) { return 42; } }
クラス B
で定義された f(Foo)
メソッドは、クラス A
の f(Foo)
メソッドをオーバーライドしていません。
これは引数の型 Foo
が違うパッケージだからです。