Oi, Gabriel! Como vai?
Gostei da forma como você separou as responsabilidades entre OperacaoBancaria, Deposito, Saque e AcaoBancaria, porque isso mostra um bom uso de herança, polimorfismo e interfaces no sistema bancário.
Um ponto importante para ajustar é o método principal, que em Java precisa ser public static void main(String[] args). Uma dica interessante para o futuro é validar o valor da operação no construtor para evitar números negativos. Veja este exemplo:
public OperacaoBancaria(double valor) {
this.valor = Math.abs(valor);
}
Nesse código, Math.abs(valor) garante que o número fique positivo antes de salvar na variável, ajudando a evitar comportamentos inesperados no sistema.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!