A Group
реализует интерфейс Figure
и, кроме того, объявляет метод publi c addFigure
. Почему я не могу вызвать метод addFigure
для моего g1
группового объекта?
public interface Figure {
void draw();
}
public class Group implements Figure {
private List<Figure> figures;
public Group(Figure... figures) {
this.figures = new ArrayList<>();
for (Figure f : figures) {
this.figures.add(f);
}
}
public void addFigure(Figure f) {
this.figures.add(f);
}
@Override
public void draw() {
for (Figure f : figures) {
f.draw();
}
}
}
public class Main {
public static void main(String[] args) {
Figure r1 = new Rectangle();
Figure r2 = new Rectangle();
Figure r3 = new Rectangle();
Figure g1 = new Group(r1, r2);
Figure g2 = new Group(r2, r3);
g1. // <- only `draw()` availabe, no `addFigure(Figure)`
}
}