2016-05-13 65 views
0

請檢查代碼波紋管,告訴我該怎麼做 我試圖使用方法howToColor只爲實現該接口(可着色)如何使用方法只有當它在Java中的instanceof

//GeometricObjects is an abstract class 
    GeometricObjects[] array = new GeometricObjects[5]; 
    array[0]= new Triangle(4.0, 3.0, 5.0); 
    array[1]= new Square(6.3); 
    //continue for all elements... 


    for (int i = 0; i < array.length; i++) { 
     if(array[i] instanceof Colorable) 
      array[i].howToColor; 
GeometricObjects小類

這不起作用,因爲GeometricObjects沒有實現可着色 是有辦法,我可以做到這一點

我希望我清楚enogh

PS:我是新來的:)。

回答

7

使用鑄造(這是衆所周知的不丟ClassCastException因爲instanceof檢查)

if(array[i] instanceof Colorable) 
     ((Colorable) array[i]).howToColor; 
+0

謝謝,這確實是 –

相關問題