Otherwise they are simply treated as overloaded methods.
public class MainClass {
public static void main(String[] argv) {
MySubclass sub = new MySubclass();
sub.calc(1, 2);
sub.calc(1.1F, 1.0F);
System.out.println();
System.out.println();
}
}
class MyClass {
public void calc(int i, int ii) {
System.out.println("calc(int i, int ii)");
}
}
class MySubclass extends MyClass {
public void calc(double d, double d2) {
System.out.println("public void calc(double d, double d2)");
}
}