Dada s classes abaixo, pergunto: o método poderia ser criado sem o static, como método de instância? Eu só queria entender porque nesse exemplo foi criado um método de classe e se poderia ser criado um método de instância?
public class OperacaoMatematica {
double calcular(double x, double y) { return 0; }
}
public class Soma extends OperacaoMatematica{
double calcular(double x, double y) {
return x + y;
}
}
public class Multiplicacao extends OperacaoMatematica{
double calcular(double x, double y) {
return x * y;
}
}
public class OperacaoTest {
public static void calcule(OperacaoMatematica o, double x, double y) { // Este é o método que estou questionando.
System.out.println(o.calcular(x, y));
}
public static void main(String[] args) {
calcule(new Soma(), 5, 5);
calcule(new Multiplicacao(), 5, 5);
}
}