2016-02-27 94 views
2

我一直在运行到这个相当奇怪(但在stackoverflow之间的问题)与我的抽象类问题。我想实现这种层次的:错误的抽象类:类,接口或枚举预计

抽象形状,圆形类,类长方形,类方形

Circle和Rectangle从抽象的形状继承和正方形继承长方形。我还用ArrayList和一些方法创建了一个ShapeContainer类。另外我还添加了TestShapeContainer类来测试这些功能。下面是相关的代码(因为有很多的代码,我会尽量把有意义的东西):

摘要形状:

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 

CLASS 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(); 
    } 
} 

我在Circle,Rectangle和Square中有相应的getArea和toString方法。

我失踪了吗?任何帮助将非常感激。

+3

它应该是:公共抽象类Shape –

+0

Oopsy菊花TY非常我觉得我应该在上课时记笔记嘻嘻 – 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 – hope4tg

相关问题