Wenn ich die byte
zu int
ändern, erhalte ich einen Compilerfehler. Können Sie das Problem erklären?Warum erhalte ich einen Kompilierungsfehler, wenn ich versuche, zwei Methoden mit demselben Namen und Parametertyp zu verwenden?
public class A {
protected int xy(int x) { return 0; }
}
class B extends A {
protected long xy(int x) { return 0; } //this gives compilor error
//protected long xy(byte x) { return 0; } // this works fine
}
Weil die Methodensignatur von 'A.xy' die gleiche wie' B.xy' ist: gleicher Name, gleiche Anzahl von Parametern und gleicher Typ von Parametern. –
Ihre Methoden, wie sie im Text gepostet werden, sind absolut in Ordnung, weil sie ** verschiedene ** Parametertypen haben. 'int' ist ** nicht ** dasselbe wie'byte' –
@GermannArlington: Wenn Sie nur den Titel und den Code gelesen haben, ist es ein wenig verwirrend, aber die erste Zeile der * Frage * macht es klar: *" fi change Das Byte zu int bekomme ich einen Compilerfehler. "* –