2016-02-27 2 views
2

Я столкнулся с этой довольно странной (но довольно распространенной проблемой среди stackoverflow) проблемой с моим абстрактным классом. Я пытаюсь реализовать такую ​​иерархию:Ошибка для абстрактного класса: класс, интерфейс или перечисление ожидается

Абстрактная форма, класс Circle, класс Rectangle, класс Square

круг и прямоугольник наследуются от абстрактной формы и квадратные наследуется от прямоугольника. Я также создал класс ShapeContainer с ArrayList и несколькими методами. Кроме того, я добавил класс TestShapeContainer для тестирования этих функций. Ниже соответствующий код (так как есть много кода я попытаюсь поставить то, что имеет отношение):

РЕФЕРАТ SHAPE:

public abstract Shape 
{ 
    public double getArea(); 

    public String toString(); 
} 

ОШИБКА СООБЩЕНИЕ:

Error at Shape.java Error: class, interface, or enum expected (lines: 1, 3, 5, 6) at abstract Shape 

КЛАСС SHAPECONTAINER:

import java.util.ArrayList; 

public class ShapeContainer 
{ 
    // PROPERTIES // 
    private ArrayList<Shape> container; 

    // CONSTRUCTORS // 
    public ShapeContainer() 
    { 
    container = new ArrayList<>(); 
    } 

    // METHODS // 
    public void add(Shape s) 
    { 
    container.add(s); 
    } 

    public double getArea(int index) 
    { 
    return container.get(index).getArea(); 
    } 

    public int getSize() 
    { 
    return container.size(); 
    } 
} 

У меня есть соответствующие методы getArea и toString в Circle, Rectangle and Square.

Все, что у меня отсутствует? Любая помощь приветствуется.

+3

должно быть: общественный абстрактный класс Shape –

+0

Oopsy маргаритки ти очень Я думаю, что я должен делать заметки во время занятий hehe – hope4tg

ответ

3

Вы забыли class ключевое слово:

public abstract class Shape { 
    public double getArea(); 

    public String toString(); 
} 

И вам нужно будет определить свои методы, чтобы быть абстрактным, как это:

public abstract class Shape { 
    public abstract double getArea(); 

    public abstract String toString(); 
} 
+0

Спасибо :) Я думаю, что я не должен был пытаться запомнить все из класса, не глядя на заметки :) Ty again – hope4tg

Смежные вопросы