2015-03-21 4 views
-2
public interface Selectable { 
    boolean getSelected(); 
    void setSelected(); 
    Shape contains(int x, int y); 
} 

public class Square extends Rectangle implements Selectable { 

    int side; 
    boolean selected; 

    public Square(int side){ 
     super(side); 
     this.side = side; 
    } 

    public String toString(){ 
     return " is square with side: " + side + ". It's area is: " + getArea() + "\n"; 
    } 

    public void setSelected(boolean selected){ 
     this.selected = selected; 
    } 

    public boolean getSelected(){ 
     return selected; 
    } 

    public Shape contains(int x, int y){ 

    } 
} 

не компилируеткласса в не абстрактно и не отменяет абстрактный метод

error: Square is not abstract and does not override abstract method setSelected() in Selectable 

Как я могу исправить эту ошибку?

+0

Что вы не понимаете о сообщении об ошибке? Акцент на ** не отменяет абстрактный метод setSelected() **. –

+1

Ваша ошибка заключается в том, что ваш класс 'Square' не переопределяет абстрактный метод' setSelected() '. Это также не «абстрактная», которая позволила бы не реализовать этот метод. Похоже, ваши решения должны сделать его «абстрактным» или реализовать «setSelected()». Сообщение об ошибке довольно ясно :) – Kon

+0

Исправьте подпись вашего сеттера в интерфейсе. –

ответ

2

В вашем изменении интерфейса

void setSelected(); 

в

void setSelected(boolean selected); 
Смежные вопросы