Variavel de intancia tipo Double sendo inicializada com null

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.