Помимо решения для приведения, предложенного другими ответами, если вы думаете, что все подклассы Shape
должны предоставлять этот метод, но вы не можете / не хотите реализовывать его на Shape
, вы можете объявить метод как Аннотация и реализовать метод в Circle
и Rectangle
.
public abstract class Shape {
public abstract void foo();
}
public class Circle extends Shape {
public void foo() {
// Implementation
}
}
, тогда вы можете сделать:
Shape s = new Circle();
s.foo();