Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Para criar uma instância é obrigatório preencher os valores de todos os atributos?

Resolvendo o exercício, a resposta é sim, porém, assistindo o segundo vídeo da aula 2 do curso de Java (parte 2) o professor cria uma instância conta preenchendo apenas o atributo saldo. Ainda assim posso considerar que é obrigatório preencher os valores de todos os atributos?

5 respostas

Olá, Fabiano! Tudo bem contigo? Espero que sim!!!

No Java, todas as vezes atribuímos um valor ao atributo uma vez que construímos os métodos na classe. Na construção dos métodos foram exigidos alguns parâmetros e quando chamados, exigem esse valor. Por exemplo:

Vamos supor que eu vou criar uma terceira conta

new Conta();

Depois de instanciado, vou atribuir uma referência

Conta terceiraConta = new Conta();

Vou chamar um método para colocar um valor no saldo

terceiraConta.deposita

Perceba que se eu deixar somente assim, o Java vai reclamar dizendo que é necessário eu colocar algum valor a esse atributo, pois o meu construtor pede esse valor

    public void deposita(double valor) {
        this.saldo += valor;
    }

Colocando o valor, esse mesmo valor estará no atributo saldo

terceiraConta.deposita(100);

Espero ter ajudado!

Bons estudos e vamos em frente!!!

Em seu segundo código a instância já se encontra criada, certo? Até aquele momento você não fez qualquer tipo de atribuição. Como posso dizer que é obrigatória a atribuição?

solução!

Opa, Fabiano!

Acho que ficou um pouco confuso e também dei mais ênfase ao atributo!

Desculpe!!! Vamos lá!!!

Quando nós instanciamos

new Conta();

realmente não é obrigatório eu criar uma referência . Tanto é que não gera nenhum erro. Ele esta guardado dentro da jvm e ok .

Agora pergunto: como vamos acessar? Precisamos criar nossa referência, o caminho para que eu possa acessar minha instância.

Se simplesmente instanciarmos e deixarmos lá, o Java possui um cara chamado Garbage Collector que faz o trabalho de excluir da jvm tudo aquilo que não é utilizado para liberar armazenamento. Se a instância criada permanecer sem nenhum acesso através da referência, com certeza será excluído quando a memória precisar de espaço.

Voltando a sua pergunta: não é obrigado, mas inviabiliza a utilização ;-)

Ficou mais claro, Fabiano?

Se não, vamos conversa mais!

Importante tirar do caminho neste momento!!!

Aguardo seu retorno, amigo!!!

Bem mais claro. Agora precisa ajustar aquela questão para facilitar a compreensão dos próximos alunos.

Feito, Fabiano!!!

Nos vemos por aqui!!!

Um abraço e até breve!