ich dreh mich an der Stelle im Kreis, vlt. könnt ihr mir helfen:
3 Klassen. Eine Klasse "User" im Package "control". 2 Klassen "Field" und "Block" im Package "data".
In User steht:
public class User {
public static void main(String[] args) {
Field sudoku = new Field();
sudoku.setValue(1, 1, 1);
}
}
Und in Field:
public class Field {
public Field()
{ }
public void setValue(int x, int y, int value) {
System.out.println("Field macht");
}
}
soweit denke ich nicht schwer nachzuvollziehen, in user wird ein objekt von field erzeugt und die methode setValue genutzt. Nun würde ich aber gerne dass die Unterklasse von Field names Block die Methode von ihrer Oberklasse überschreibt.
Daher folgender Code:
public class Block extends Field {
@Override public void setValue(int x, int y, int value) {
System.out.println("Block macht");
}
}
soweit ja alles Supi, compiler meckert nicht und leichter code, aber auf der ausgabe erscheint:
"Field macht"... Es sollte aber "Block macht" erscheinen, denn die Methode wurde doch überschrieben?!
Ich hoffe jmd. kann mir helfen,
danke euch Jimmy.

Hilfe
Neues Thema
Antworten


Nach oben



