Olá pessoal, vi que no Java as variáveis guardam referências para os objetos atribuidos a ela, mas o que extamente é o valor a esquerda que passamos antes do nome da variável ? Isso me dá um nó na cabeça.
EXEMPLO:
ContaPoupanca cp = new ContaPoupanca(222, 222);
cp.deposita(200.0);
Porque tenho que atribuir o mesmo tipo do objeto ou um tipo mais genérico (Nesse caso um tipo mais genérico poderia ser Conta, já que ContaPoupanca herda de Conta) ? Porque não poderia ser só:
cp = new ContaPoupanca(222, 222);
cp.deposita(200.0);
Já que cp vai servir só como uma forma de encontrar meu objeto ContaPoupanca na memória ?