Was wird die Ausgabe des folgenden Codes sein? Der Ausgang wird 1.0
sein, aber dies bedeutet, dass double
Parameter anstelle von Floating-Parameter bevorzugt wird. Bitte jemand erklären, was ist der Mechanismus hinter dieser Ausgabe.Methode überladen mit schwebenden Typen
class X
{
int method(int i)
{
return i *= i;
}
}
class Y extends X
{
double method(double d)
{
return d /= d;
}
}
class Z extends Y
{
float method(float f)
{
return f += f;
}
}
public class MainClass
{
public static void main(String[] args)
{
Z z = new Z();
System.out.println(z.method(21.12));
}
}