0

私はいくつかの問題を抱えています。このコードはコンパイル時エラーを発生させませんSystem.out.printlnが、表示されません。4 辺すべてに色を付ける方法が表示されます。forループで間違いを犯していますか、それとも構造にありますか?

以下のコードを参照してください。

public interface Colorable {
    // Abstract to be called later
    public abstract String howToColor();

}

public class HowToColour {

    /**
     * @param args
     *            the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    }
}

public class TestColorable {
    public static void main(String[] args) {
        Object[] obj1 = { 
            new Square(), 
            new Rectangle(), 
            new Rhombus(),
            new Parallelogram(), 
            new Trapezium() 
        };
        for (int i = 0; i < obj1.length; i++) {
            if (obj1[i] instanceof Colorable) {
                System.out.println(((Colorable) obj1[i]).howToColor());
            } else {
                System.out.println("This shape is not to be colored");

            }
        }
    }
}

class GeometricOgject {

}

// Initial Method to use the interface
class Square extends GeometricOgject implements Colorable {
    @Override
    public String howToColor() {
        return "Square: Color all four sides";
    }
}

// Method to use an interface in an abstract class
abstract class FourSides implements Colorable {

}

class Rectangle extends FourSides {
    @Override
    public String howToColor() {
        return "Rectangle: color all four sides";
    }
}

class Rhombus extends FourSides {
    @Override
    public String howToColor() {
        return "Rhombus: color all four sides";
    }
}

class Parallelogram extends FourSides {
    @Override
    public String howToColor() {
        return "Parallelogram: color all for sides";
    }
}

class Trapezium extends FourSides {
    @Override
    public String howToColor() {
        return "Trapezium: color all four sides";
    }
}
4

1 に答える 1