Diferença entre final e estático

Em matemática e ciências, a constante é um termo que denota um certo valor, como ‘π’, que é um nome prático para o número 3,14159. Java tem seu tipo de constantes. Essas são variáveis ​​que em (a) não pertencem a nenhum objeto e em (b) não alteram seu valor uma vez que são definidas. A palavra estática na declaração da variável mostra que a variável não pertence a nenhum objeto. Existe uma palavra-chave semelhante que diz que o valor da variável será definido apenas uma vez e não mudará. Esta é a palavra-chave final. Essa palavra-chave não está limitada a variáveis ​​estáticas, mas pode ser usada com variáveis ​​de instância, variáveis ​​locais e até mesmo com variáveis ​​que são métodos de parâmetro. Ao declarar a variável como final, você mostra a todos que a variável durante a existência terá o mesmo valor. Mais importante ainda, o compilador detectará todas as tentativas de alterar o valor de uma variável declarada e relatará isso como um erro. Quanto à terminologia Java, a variável que é declarada como estática e final é chamada de constante.



O que é final?

O modificador final pode ser usado em vários lugares na linguagem de programação Java. Aqui, cobriremos seu uso mais comum. O modificador final pode ser aplicado à declaração de uma variável local, argumento de função e variáveis ​​de membro não estáticas ou estáticas. Nesse contexto, o modificador de variável se converte em uma constante. O tradutor do idioma de tradução verificará se algum código está tentando modificar o valor e tais tentativas serão sinalizadas como um erro. Aqui está um exemplo.



valor int final = 17;

Variáveis ​​de membro estático com este modificador são usadas como constantes globais; por exemplo, na variável java.lang.Math PI, é declarado exatamente



público estático final duplo PI = 3,14159265358979323846;

Podemos aplicar o modificador final à declaração de função. A função marcada com o final não pode mais ser anulada - essa é sua implementação final. Os métodos abstratos não podem ser declarados finais - o fato de serem abstratos significa que carecem de implementação; certamente não pode ser seu estado final. Aqui está um exemplo.

public final int meaningLife () {



return 42;

}

Podemos aplicar o modificador final à declaração da classe. A classe marcada com o final não pode mais herdar - essa é sua implementação final. Claramente, a classe abstrata não pode ser final ao mesmo tempo. Aqui está um exemplo

aula final pública Fechada {

// ...

}

Um dos exemplos de classe finita é a classe java.lang.String - ela é finita, então ninguém poderia herdá-la e, assim, obter acesso às suas variáveis ​​de membro.

O que é estático?

Variáveis ​​estáticas não pertencem a uma instância particular de classe. As variáveis ​​estáticas pertencem à própria classe e na memória há apenas um local, independentemente do número de cópias dessa classe que são criadas na memória. Variáveis ​​não estáticas pertencem a espécimes de classe - cada instância da classe tem sua própria cópia de tais variáveis. Variáveis ​​estáticas pertencem à classe - a classe na memória mantém os valores de tais variáveis; todas as classes de amostra, portanto, veem o mesmo conteúdo, portanto, podemos considerar variáveis ​​estáticas a serem compartilhadas entre todos os tamanhos de classe. Ao atualizar a variável de valor, o novo valor ficará automaticamente visível para todas as instâncias dessa classe. O filtro estático pode ser aplicado a qualquer elemento legalmente declarado em uma classe. No caso de variáveis ​​de membro, a consequência é que tais variáveis ​​de membro serão armazenadas na memória apenas em um lugar. O que acontece se for um método? Ao declarar o método como estático, a mensagem é a mesma: o método relevante não pertence a classes de classes, mas à própria classe. Conseqüentemente, os métodos estáticos não receberão uma referência oculta ao objeto sobre o qual são chamados na chamada; em métodos de referência estáticos, isso não está disponível. Na verdade, invocar métodos estáticos no objeto é tão confuso quanto acessar variáveis ​​de membro estático referindo-se a essa referência: em ambos os casos, é melhor simplesmente escrever o nome da classe, o ponto e o nome do método de chamada.

Diferença entre final e estático

  1. Variável

Static representa uma variável comum a todos os objetos que instanciam uma determinada classe, enquanto final define a constante.

  1. Método

Estático é um método que é o mesmo para cada classe de objeto dada - também é chamado de membro de classe, por exemplo, esse é o método principal. O método final não pode ser processado na classe herdada.

  1. Classe

O final não pode ser expandido, ou seja, não permite subclasses. A estática não se aplica à classe.

  1. Valor

Para simplificar, final denotou que o valor não pode ser alterado (substituir). O valor estático é definido com seu valor padrão, mas pode ser reinicializado.

Final vs. Estático: Gráfico de Comparação

Resumo de final e estático

  • A chave estática de trabalho fornece acesso mesmo quando não há objeto (instância). Classes proeminentes são declaradas por meio da palavra-chave static. Se você não quiser que o valor de algumas alterações posteriores no programa desapareça, ou se quiser que o compilador verifique e proíba, você pode alterar essa promessa para o final. Existe um bloco estático para a inicialização. O bloco estático para a inicialização é declarado como a chave estática na frente dos colchetes. Este tipo de bloco é executado uma vez, durante a leitura das aulas, e geralmente inicializa os membros estáticos da classe.

Publicações Populares

American History Review: O homem mais rápido sobre duas rodas foi quase esquecido

O 'Major' Taylor foi o melhor ciclista de sua época, mas sua carreira foi seriamente prejudicada por Jim Crow

Diferença entre coágulo sanguíneo e aneurisma

O que é coágulo de sangue e aneurisma? Tanto os aneurismas quanto os coágulos sanguíneos são condições médicas graves que requerem intervenção médica imediata. Aneurisma é o

Diferença entre um switch gerenciado e não gerenciado

Um switch é um dispositivo que permite a conexão de vários dispositivos a uma LAN (Rede Local). É um dispositivo eficaz e inteligente que recebe

Diferença entre anjo e arcanjo

Anjo vs Arcanjo Anjos e arcanjos são encontrados em quase todas as religiões. Tanto o anjo quanto o arcanjo fazem parte das crenças religiosas. O que é um anjo? A

Diferença entre domínio e intervalo

Domínio vs intervalo Domínio e intervalo são termos aplicáveis ​​à matemática, especialmente em relação às ciências físicas que consistem em funções. Domínio

Diferença entre placa de vídeo GeForce 9800gt e EVGA GeForce GT220

Placa de vídeo GeForce 9800gt vs EVGA GeForce GT220 Embora o computador tenha sido inicialmente criado e desenvolvido para fazer cálculos e outras atividades de negócios