import java.awt.Point; public class AbstractClassBsp { public static void main(String[] args) { Norton norton = new Norton(); System.out.println("Ausgangspunkt: " + norton.getPos().x); norton.fahre(10); System.out.println("Fahrtziel: " + norton.getPos().x); // Luftfahrzeug lfz = new Luftfahrzeug(); // Fehler Cesna cesna = new Cesna(); cesna.bewegDich(2000, 150); System.out.println("Flugziel: " + cesna.getPos().x + ", Hoehe: " + cesna.getPos().y); } } abstract class Fahrzeug { Point pos = new Point(0,0); abstract void bewegDich(int h, int v); Point getPos() { return pos; } } abstract class Motorrad extends Fahrzeug { //... } class Norton extends Motorrad { @Override void bewegDich(int h, int v) { pos = new Point(h, v); } void fahre(int h){ bewegDich(h, 0); } } abstract class Luftfahrzeug extends Fahrzeug { Point fliege(int h, int v) { return new Point(getPos().x + h, getPos().y + v); } } class Cesna extends Luftfahrzeug { @Override void bewegDich(int h, int v) { pos = fliege(h, v); } }