Pessoal, dúvida!!!!
Seguinte, na aula o professor avisou e demonstrou no vídeo que ao serializar o objeto ContaCorrente deveria ocorrer um erro se a interface java.io.Serializable estivesse assinada na Classe ContaCorrente, pois esta classe usa o construtor da classe mãe Conta... No entanto a fim de testar o conceito explicado na aula, fiz o teste deixando a assinatura da interface apenas na classe filha ContaCorrente e o código funcionou quando não deveria funcionar, alguém sabe me explicar o porquê?
Classe mãe Conta não assinou a interface Serializable
public abstract class Conta implements Comparable<Conta>
Classe filha ContaCorrente assinou a interface Serializable
import java.io.Serializable;
public class ContaCorrente extends Conta implements Tributavel, Serializable {
public ContaCorrente(int agencia, int numero) {
super(agencia, numero);
}
Método main
Cliente cliente = new Cliente();
cliente.setNome("Nico");
cliente.setProfissao("Dev");
cliente.setCpf("234113131");
ContaCorrente cc = new ContaCorrente(222, 333);
cc.setTitular(cliente);
cc.deposita(222.3);
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("cc.bin"));
oos.writeObject(cc);
oos.close();
O resultado da execução do método main, é a criação do arquivo cc.bin.
Versão do java: `
openjdk version "11.0.9.1" 2020-11-04 OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04) OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
`
Desde já agradeço a ajuda!