Apesar do modificador "protected", o compilador acusa erro (The field Conta.saldo is not visible) e sugere trocar o modificador para "public" (Change visibility of 'saldo' to 'public').
//CLASSE Contas; package br.com.bytebank.banco.modelo; public abstract class Conta { protected double saldo; private int agencia; private int numero; private Cliente titular; private static int total = 0; // CODIGO OMITIDO; }
//CLASSE ContaEspecial; package br.com.bytebank.banco.especial; import br.com.bytebank.banco.modelo.Conta; public class ContaEspecial extends Conta { public ContaEspecial(int agencia, int numero) { super(agencia, numero); } //CODIGO OMITIDO; }
//CLASSE TestaContas; package br.com.bytebank.banco.test; import br.com.bytebank.banco.especial.ContaEspecial; import br.com.bytebank.banco.modelo.ContaCorrente; import br.com.bytebank.banco.modelo.ContaPoupanca; import br.com.bytebank.banco.modelo.SaldoInsuficienteException; public class TesteContas { public static void main(String[] args) throws SaldoInsuficienteException{ //int a = 3; //int b = a / 0; //ContaCorrente outra = null; //outra.deposita(200.0); ContaCorrente cc = new ContaCorrente(111, 111); cc.deposita(100.0); ContaPoupanca cp = new ContaPoupanca(222, 222); cp.deposita(200.0); cc.transfere(10.0, cp); System.out.println("CC: " + cc.getSaldo()); System.out.println("CP: " + cp.getSaldo()); ContaEspecial ce = new ContaEspecial(3333, 44444); //AQUI O ERRO DO COMPILADOR; System.out.println(ce.saldo); } }