Olá galera estava criando um aplicativo pequeno com Java, mas algo estranho aconteceu e agora estou aqui para tirar minhas duvidas.
Eu criei uma variável de instancia em uma classe e quando fui ver o seu valor que é inicializado automaticamente, verifiquei que tinha o valor “null”, isso contraria todos os meus estudos até agora.
Um exemplo disso seria o código abaixo.
public class Account {
private Double balance;
public Account(Double initialBalance) {
if(initialBalance > 0.0){
balance = initialBalance;
}
}
}
A Variável de instancia(propriedade) ficou com o valor null no meu aplicativo quando fui chama-la através de um método.
Quero saber porque galera.
Desde já agradeço!
como vc ta fazendo a chamada desse metodo?
Boa tarde,
Variável de instância tem seu valor padrão null, quando Objects.
Quando a variável é primitiva, possui valor padrão referente a cada tipo, por exemplo, boolean é ‘false’, int é ‘0’ e assim por diante.
2 curtidas
Mas todos os livros que eu estudei dizia que o variáveis de instância do tipo Double seria inicializada automaticamente com 0.0(zero ponto zero).
Este comportamento é para variável primitiva. Tente usar ‘double’, que você vai obter o resultado que você está esperando.
1 curtida
Garoto @Bruno8moura está certíssimo.
Sempre que você tem atributos da instancia que sejam Object (Neste caso você está usando a classe Wrapper de double (Double)), estas, são incializadas com NULL.
A regra do valor padrão ( No caso o 0.00 que você esperava ) só vale para tipos primitivos.
Abs.
1 curtida
Muito obrigado por me tirar essa duvida, acabei de me lembrar.
Beleza, muito obrigado, acabei me lembrando. Eu estava instanciando o objeto Double ao invés de usar o tipo primitivo double, Valeu pela resposta.