这是我的任务:设计一个名为 Colorable 的接口,其方法名为 howToColor()。可着色对象的每个类都必须实现 Colorable 接口。设计一个名为 Square 的类,它扩展 GeometricObject 并实现 Colorable。实现 howToColor 以显示消息“Color all 四边”。编写一个测试程序,创建一个包含五个 GeometricObject 的数组。对于数组中的每个对象,如果它是可着色的,则它的 howToColor 方法。
我在这一行的 Netbeans 中遇到错误: GeometricObject[] objects = {new Square(), new Triangle(), new... 说不是抽象的,也不会覆盖 Colorable 中的抽象方法 howToColor()。提前致谢!!!
public abstract class TestGeometricObject {
public static void main(String[] args) {
GeometricObject[] objects = {new Square(), new Triangle(), new Circle(), new Trapezoid() {}, new Octagon()};
for (int i = 0; i < objects.length; i++) {
GeometricObject object = objects[i];
if (objects instanceof Colorable[]) {
Colorable colorable = (Colorable) object;
colorable.howToColor();
}
else {
System.out.println("Not colorable");
}
}
}
}
public interface Colorable {
public String howToColor();
}
public abstract class GeometricObject implements Colorable {
/**Default construct*/
public GeometricObject() {
}
}
public abstract class Square extends GeometricObject implements Colorable {
public Square() {
}
public void Trapezoid() {
}
@Override
public String howToColor(){
return "Color all four sides";
}
}