1 <p> The method in the subclass doesn't override a similar method in a superclass because the type of a parameter doesn't exactly match
2 the type of the corresponding parameter in the superclass. For example, if you have:</p>
8 public int f(Foo x) { return 17; }
12 public class B extends A {
13 public int f(Foo x) { return 42; }
14 public int f(alpha.Foo x) { return 27; }
19 <p>The <code>f(Foo)</code> method defined in class <code>B</code> doesn't
21 <code>f(Foo)</code> method defined in class <code>A</code>, because the argument
22 types are <code>Foo</code>'s from different packages.
25 <p>In this case, the subclass does define a method with a signature identical to the method in the superclass,
26 so this is presumably understood. However, such methods are exceptionally confusing. You should strongly consider
27 removing or deprecating the method with the similar but not identical signature.