2016-02-27 129 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