Error bei der Vererbung

weitiweit

Grünschnabel
So und schon meine Zweite Frage.

Wieso ergibt folgendes Code ein Error?
Code:
public class A {

    @Override
    public String toString() {
        return "s";
    }
}
Code:
public class B  extends A{

    @Override
    public String toString(String s) {
        return "s";
    }
}
Ich kenne die Lösung aber weshalb das ein Fehler ist nicht.
 

zerix

Hausmeister
Moderator
Hallo,

was sagt denn
Code:
@Override
aus und wann genau hast du eine Methode überschrieben und wann überladen? ;)

Viele Grüße
Sascha
 

weitiweit

Grünschnabel
@Override Heist ich hole etwas aus einer höheren klasse und Überschreibe es und überladen Heist es gibt mehre Methoden mit dem gleichen namen, sie unterscheiden sich aber bei der Übergabe (String a) (String a, Stirng b) ...

Sie Lösung ist ja das das ich toString(String s) auch in A implementiere, ich fernstehe aber immer noch nicht wieso ich es nicht nur in B überladen kann.
Code:
public class A {

    public String toString() {
        return "s";
    }

    public String toString(String s) {
        // TODO Auto-generated method stub
        return null;
    }

}
 

zerix

Hausmeister
Moderator
Also überladen kann man die Methode ohne Probleme, egal in welcher Klasse. Wenn du aber in den Code in deinem ersten Post schaust, hast du die Annotation Override über der überladenen Funktion gehabt. Die Funktion wurde aber nicht überschrieben, da sie in A nicht existierte. Ich gehe zumindest mal davon aus, dass du bezüglich des Override eine Fehlermeldung bekommen hast. War das nicht der Fall, mach es wie @vfl_freak gesagt hat und poste die Fehlermeldung.


Viele Grüße
Sascha