Ocorreu essa exceção quando estava fazendo o exercício de serialização com herança. Gerou o arquivo, mas na gora de imprimir o saldo e nome do titular ocorreu a exceção ( java.io.InvalidClassException br.com.bytebank.banco.modelo.ContaCorrente; no valid constructor). Não consegui achar o problema no contrutor da classe ContaCorrente.
package br.com.bytebank.banco.modelo;
import java.io.Serializable;
//new ContaCorrente()
public class ContaCorrente extends Conta implements Tributavel, Serializable {
public ContaCorrente(int agencia, int numero) {
super(agencia, numero);
}
@Override
public void saca(double valor) throws SaldoInsuficienteException{
double valorASacar = valor + 0.2;
super.saca(valorASacar);
}
@Override
public void deposita(double valor) {
super.saldo += valor;
}
@Override
public double getValorImposto() {
return super.saldo * 0.01;
}
@Override
public String toString() {
return "ContaCorrente, " + super.toString();
}
}
package br.com.bytebank.banco.test.io;
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.ObjectInputStream;
import br.com.bytebank.banco.modelo.ContaCorrente;
public class TestDeserie {
public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("cc.bin"));
ContaCorrente cc = (ContaCorrente) ois.readObject();
ois.close();
System.out.println(cc.getSaldo());
System.out.println(cc.getTitular().getNome());
}
}