Diferença entre estático e final em Java

Índice:

Diferença entre estático e final em Java
Diferença entre estático e final em Java

Vídeo: Diferença entre estático e final em Java

Vídeo: Diferença entre estático e final em Java
Vídeo: Métodos e atributos STATIC - Curso de Java - Aula 13 2024, Julho
Anonim

Key Difference – estático vs final em Java

Cada linguagem de programação tem uma sintaxe específica. O programador deve seguir essas sintaxes ao escrever programas. As palavras-chave das linguagens de programação possuem significados específicos de acordo com as tarefas. Eles são fornecidos pela linguagem de programação e não podem ser usados para variáveis definidas pelo usuário, métodos, classes, etc. O static e o final são duas palavras-chave em Java. Este artigo discute a diferença entre estático e final em Java. A principal diferença entre static e final em Java é que static é usado para definir o membro da classe que pode ser usado independentemente de qualquer objeto da classe, enquanto final é usado para declarar uma variável constante ou um método que não pode ser substituído ou uma classe que não pode ser herdado.

O que é estático em Java?

Uma classe consiste em membros de dados (atributos) e métodos. Para chamar os métodos, deve haver um objeto dessa classe específica. Quando um método é declarado como estático, não é necessário criar um objeto para chamar esse método. O método pode ser chamado usando o nome da classe. Consulte o programa abaixo.

Diferença entre estático e final em Java
Diferença entre estático e final em Java

Figura 01: Programa Java com variáveis estáticas e Método estático

De acordo com o programa acima, a classe A contém a variável numérica e o método de exibição. Ambos são membros estáticos. Portanto, não é necessário criar um objeto para acessar a variável numérica e o método de exibição. O programador pode escrever diretamente o nome da classe para imprimir o número e chamar o método de exibição. Portanto, não há necessidade de instanciar um objeto. Se a variável number e o método de exibição não forem estáticos, deve haver um objeto do tipo A.

Diferença entre estático e final em Java_Figura 02
Diferença entre estático e final em Java_Figura 02

Figura 02: Uso do Bloco estático

O programa acima contém o bloco estático e o método main. O bloco estático é chamado quando a classe é carregada. Portanto, a instrução no bloco estático é executada antes da instrução no bloco principal. Se houver muitos blocos estáticos, eles serão executados em sequência.

O que é final em Java?

No programa, podem existir variáveis de vários tipos. Se houver uma variável como int x=1; posteriormente no programa, esse valor de variável pode ser alterado para algum outro valor. Uma variável declarada como final e inicializada com um valor não pode ser alterada posteriormente no programa.

Diferença entre estático e final em Java_Figura 03
Diferença entre estático e final em Java_Figura 03

Figura 03: Programa com variável final e herança

De acordo com o programa acima, x é uma variável final. É atribuído um valor 5. Não pode ser alterado algum outro valor porque é declarado como final. Java suporta programação orientada a objetos (OOP). Um pilar da POO é um polimorfismo. Um tipo de polimorfismo é de sobreposição. A classe A tem o método de exibição. A classe B estende a classe A e tem seu próprio método de exibição. Ao criar um objeto do tipo B e chamar o método display imprimirá “B” como saída. O método de exibição da classe A é substituído pelo método de exibição da classe B.

Se o programador quer evitar sobrescrever um método, então ele pode usar a palavra-chave final para aquele método. Se o método de exibição na classe A for final, o método de exibição em B dará um erro porque esse método não pode ser substituído.

Diferença entre estático e final em Java_Figura 04
Diferença entre estático e final em Java_Figura 04

Figura 04: palavra-chave final no Método

Outro pilar da POO é a herança. Ajuda a reutilizar o código já existente. A nova classe pode se estender da classe existente e usar os membros de dados e métodos da classe existente. Se for necessário parar de herdar uma classe, o programador pode usar a palavra-chave ‘final’. Consulte o programa abaixo.

Ke3y Diferença entre estático e final em Java
Ke3y Diferença entre estático e final em Java

Figura 05: palavra-chave final na classe

De acordo com o programa acima, a classe A é declarada como final. Quando a classe B estende A, dá um erro porque a classe A é declarada como final. Não pode ser herdado por outras classes.

Qual é a semelhança entre static e final em Java?

Tanto static quanto final são palavras-chave em Java

Qual é a diferença entre static e final em Java?

estático vs final em Java

Palavra-chave estática indica que uma variável de membro, ou método, pode ser acessada sem exigir uma instanciação da classe à qual ela pertence. A palavra-chave final denota uma entidade que só pode ser atribuída uma vez.
Variáveis
As variáveis estáticas podem ser reinicializadas. As variáveis finais não podem ser reinicializadas.
Métodos
Pode ser chamado por outros métodos estáticos e acessar apenas os membros estáticos da classe. Os métodos finais não podem ser substituídos.
Class
O objeto de classe estática não pode ser criado. Ele contém apenas membros estáticos. A classe final não pode ser herdada por outras classes.
Bloco
A palavra-chave static pode ser usada em um bloco. A palavra-chave final não é usada com um bloco.

Resumo – estático vs final em Java

Este artigo discutiu duas palavras-chave em Java, como static e final. A diferença entre static e final em Java é que static é usado para definir o membro da classe que pode ser usado independentemente de qualquer objeto da classe enquanto final é usado para declarar uma variável constante ou um método que não pode ser substituído ou uma classe que não pode ser herdado.

Recomendado: