A pesquisa neste artigo envolve principalmente exemplos relevantes de "tipo" nulo em Java, conforme detalhado abaixo.
Primeiro, dê uma pergunta simples relacionada ao nulo, que desencadeará nossa discussão sobre NULL. Mais tarde, interpretaremos o "tipo" nulo de acordo com o manual do idioma oficial.
Pergunta: O programa a seguir pode ser executado corretamente?
Análise:
A saída deve ser: haha
Como o NULL pode ser forçado a qualquer tipo de classe, o (nulo nulo) anterior é legal, mas depois que Null é forçado a girar, é um objeto inválido e seu valor de retorno é nulo (vou explicar mais tarde)
O método haha é um método estático. O método estático usa ligação estática e não lançará uma exceção de ponteiro nulo.
Se a função haha () for virada não estática, uma exceção de ponteiro nulo será lançada.
Vamos dar outro exemplo:
Esta questão é realmente semelhante ao acima.
O resultado ainda está emitindo "haha"
Podemos ver na especificação da linguagem Java
Na Seção 4.1. Os tipos de tipos e valores mencionados:
Existem dois tipos de tipos na linguagem de programação Java: tipos primitivos (§4.2) e tipos de referência (§4.3). ”
Tipo:
Primitivetype
ReferenceCetype
Há também tipo nulo especial, o tipo de expressão nula (§3.10.7, §15.8.1), que não tem nome.
Como o tipo nulo não tem nome, é impossível declarar uma variável do tipo nulo ou lançar para o tipo nulo.
A referência nula é o único valor possível de uma expressão do tipo nulo.
A referência nula sempre pode sofrer uma conversão de referência ampliada a qualquer tipo de referência.
Na prática, o programador pode ignorar o tipo nulo e apenas fingir que Null é apenas um literal especial que pode ser de qualquer tipo de referência.
Vou traduzir para:
Existem dois tipos no idioma Java, um é o tipo básico e o outro é o tipo de referência .
Há também um tipo nulo especial, ou seja, o tipo de expressão nula, que não tem nome.
Como o tipo nulo não tem nome, é impossível declarar uma variável de tipo nulo ou convertê -lo em um tipo nulo.
A referência nula é o único valor possível de uma expressão do tipo nulo.
As referências nulas podem ser convertidas em qualquer tipo de referência.
De fato, os programadores podem ignorar o tipo nulo e podem pensar que o NULL é apenas um símbolo especial que pode se tornar qualquer tipo de referência.
Depois de ler esta passagem, de repente percebi.
No 5.2. Seção de conversão de atribuição:
“Um valor do tipo nulo (a referência nula é o único valor desse tipo) pode ser atribuído a qualquer tipo de referência, resultando em uma referência nula desse tipo”
Um valor de um tipo nulo (referência nula (nula) é o único valor desse tipo) pode ser atribuído a qualquer tipo e retornará uma referência vazia a um objeto desse tipo (na verdade nulo).
Em 5.3. Seção de conversão de invocação de métodos, existe:
“Um valor do tipo nulo (a referência nula é o único valor desse tipo) pode ser convertido em qualquer tipo de referência.”
ou seja, " NULL pode ser convertido em qualquer tipo de referência ."
Através do manual do idioma oficial, tenho um entendimento muito profundo do tipo nulo.
É de ajuda para nossa programação e futuras entrevistas de emprego.
Finalmente, espero que todos encontrem alguns problemas estranhos. Além do Baidu, tente pesquisar no site da Stack Overflow o máximo possível e verifique o manual oficial.
Resumir
O exposto acima é sobre o profundo entendimento deste artigo deste artigo em Java, e espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!