2015-10-29 44 views
0

如何在我的主程序中聲明子類時遇到問題。Java新手(繼承):在主程序中聲明子類

我有我的抽象超稱爲形狀,和4個亞類(矩形,三角形,圓形,方形);

我知道,如果我想使用超我創建了一個新的變量:

private Shapes shapes; 

然後我的變量分配給超:

shapes = new Shapes(); 

我thouht你可以聲明一個子類像這樣:

private Shapes square; 
// 
square = new Square();//Square is a sub-class of Shapes. 

請幫忙。

+0

它完全不清楚我你的要求 – silentprogrammer

+0

發表[MVCE(http://stackoverflow.com/help/mcve) – sam

+0

讓我們從化妝品的變化開始第一,直到我們理解您的問題,您可以重命名類「Shape」而不是「Shapes」。 –

回答

1

您不是在上面聲明類,而是在創建指針和實例化對象。實際上你需要使用class關鍵字,像這樣:

public class Shape { 
} 

當你創建一個子類,這將是

public class Square extends Shape { 
} 

如果您在您的主要目的是,例如,它可以看像:

Shape s = new Square(); 

Square square = new Square(); 

但這只是您創建對象的方式,而不是類。

0

有2個方面。

  • 創建一個類層次結構

    public class Square extends Shape { 
    } 
    
  • 製作基類指針或引用指向子類對象。

    Shape aSquare = new Square();