2017-01-27 4 views
0

Wenn der Code unten kompilieren, erhalte ich folgende Fehlermeldung:CircleObject ist nicht abstrakt und enthebt nicht abstrakte Methode in Abbildung

Abstrct.java:7: error: CircleObject is not abstract and does not override abstract method changePosition(int,int) in Figure 
class CircleObject extends Figure 
^ 
Abstrct.java:14: error: Kd is not abstract and does not override abstract method draw() in Figure 
class Kd extends Figure 
^ 
2 errors 

Mit

abstract class Figure { 

    int x, y; 

    abstract void changePosition(int newX, int newY); 

    abstract void draw(); 
} 

class CircleObject extends Figure { 

    void draw() { 
     System.out.println("Draw method called"); 
    } 
} 

class Kd extends Figure { 

    void changePosition(int newX, int newY) { 
     System.out.println("Change Position method called"); 
    } 
} 

class Abstrct { 

    public static void main(String args[]) { 
     Figure q = new CircleObject(); 
     q.draw(); 
     Figure p = new Kd(); 
     p.changePosition(2, 4); 
    } 
} 
+0

'Circle' muss entweder 'abstract' sein oder die' changePosition' Methode implementieren – MadProgrammer

Antwort

0

Eine Klasse eine abstrakte Klasse erweitert hat entweder alle abstrakten Methoden seiner Elternklasse zu implementieren oder selbst abstrakt zu sein.

Also muss Ihre CircleObject-Klasse auch changePosition() implementieren oder selbst eine abstrakte Klasse sein.

Ähnlich für die Kd-Klasse.

0

Wenn Sie eine Klasse als abstrakt definieren, müssen alle Klassen, die sie erweitern, ALLE Methoden implementieren.

abstract class Figure { 
    int x, y; 
    abstract void changePosition(int newX, int newY); 
    abstract void draw(); 
} 

class CircleObject extends Figure { 
    void draw() { 
     System.out.println("Draw method called"); 
    } 
    void changePosition(int newX, int newY){   
    } 
} 

class Kd extends Figure { 
    void changePosition(int newX, int newY) { 
     System.out.println("Change Position method called"); 
    } 
    void draw(){   
    } 
} 
Verwandte Themen