Diferença entre final finally e finalize em Java

Índice:

Diferença entre final finally e finalize em Java
Diferença entre final finally e finalize em Java

Vídeo: Diferença entre final finally e finalize em Java

Vídeo: Diferença entre final finally e finalize em Java
Vídeo: Difference between final, finally & finalized in java? #javainterview #finally #finalized 2024, Julho
Anonim

Key Difference – final vs finally vs finalize em Java

The final, finally e finalize são termos comuns usados na programação Java. O final é uma palavra-chave. Pode ser usado para variáveis, métodos ou classes. As variáveis declaradas como finais devem ser inicializadas apenas uma vez. Eles não podem ser alterados. Como Java é uma linguagem que suporta Programação Orientada a Objetos, ela permite criar classes a partir de classes existentes para melhorar a reutilização do código. Às vezes, pode ser necessário evitar o uso das classes existentes. Para isso, final pode ser usado. Na programação, pode haver erros, e é importante tratá-los para executar o programa corretamente. O finalize é um método chamado pelo coletor de lixo. Portanto, todos esses termos têm significados diferentes de acordo. A final é uma palavra-chave que impede a alteração de variáveis, evita a substituição de métodos e evita a extensão de classes. O finally é um bloco no tratamento de exceções, que será executado independentemente de uma exceção ser lançada ou não. O finalize é um método, chamado pelo coletor de lixo antes de destruir o objeto completamente. Essa é a principal diferença final finalmente e finalize em Java.

O que é final em Java?

A final é uma palavra-chave em Java. Como Java suporta programação orientada a objetos, as subclasses podem usar as variáveis e métodos de uma classe já existente. A classe já existente é a superclasse, enquanto a nova classe é a subclasse. Se o programador quiser impedir que a variável seja acessível por outras classes, ele pode declarar a variável como ‘final’. Por exemplo, suponha que existe uma variável como p. É declarado como final e inicializado com o valor 10.por exemplo. final int p=10. Se o valor p for alterado novamente para 20, causará um erro em tempo de compilação. A palavra-chave final impede a alteração do valor da variável.

Uma classe pode usar um método que já está em uma classe existente. Suponha que exista uma classe chamada B que tenha um método display(). A nova classe é C e estende a classe B. Se a classe C também tiver um método chamado display(), então o método display() original da classe B será substituído. Se o programador quiser evitar a substituição do método, ele poderá usar a palavra-chave finalmente. por exemplo. final void display(){ }. Tornar um método final garante que a funcionalidade do método nunca será alterada.

Diferença entre final finalmente e finalize em Java
Diferença entre final finalmente e finalize em Java

Figura 01: final, finalmente e finalize

Também é possível usar a palavra-chave final para uma classe. A nova classe não pode herdar variáveis e métodos de uma classe final. Isso é útil para aumentar a segurança. Como a classe está sendo impedida de usar pelas subclasses, os dados são protegidos.

O que está finalmente em Java?

Na programação, podem ocorrer erros. Erros podem causar saídas incorretas ou encerrar a execução de um programa. É importante usar algum tipo de mecanismo para evitar esses resultados inesperados. Os erros podem ser de dois tipos. Eles são erros de tempo compilados e erros de tempo de execução. Erros de tempo de compilação ocorrem devido a erros sintáticos. Alguns erros comuns de tempo de compilação estão f altando o ponto e vírgula, chaves ausentes, identificadores de erros ortográficos, palavras-chave e variáveis não declaradas. O compilador não criará o arquivo.class até que esses erros sejam corrigidos.

Às vezes pode haver programas que compilam corretamente, mas dão saída errada. Eles são chamados de erros de tempo de execução. Alguns erros comuns de tempo de execução são mergulhar um inteiro por zero e acessar um elemento que está fora dos limites de uma matriz. Esses erros não causarão um erro em tempo de compilação, mas a saída está incorreta. Uma exceção é uma condição causada por um erro de tempo de execução no programa.

Quando há um erro de tempo de execução, Java cria um objeto de exceção e o lança. Se o objeto de exceção não for capturado corretamente, ele exibirá uma mensagem de erro e encerrará o programa. Se o programador quiser continuar a execução do programa com o restante do código, ele deve capturar o objeto de exceção e exibir a mensagem necessária para ação corretiva. Este processo é conhecido como tratamento de exceção.

Em Java, try é usado para o código que provavelmente causará um erro e lançará uma exceção. O catch é usado para tratar a exceção lançada pelo bloco try. Pode haver várias instruções catch. As instruções finally podem ser usadas para tratar uma exceção que não foi capturada por nenhuma das instruções catch anteriores. O bloco finally será executado se uma exceção for lançada ou não. Consulte o exemplo fornecido.

int p=10, q=5, r=5;

int resposta;

tentar{

resposta=p/(q – r);

}

catch (ArithmeticException e){

System.out.println(“Dividido por zero”);

}

finalmente{

System.out.println(“O bloco finally é executado”);

}

De acordo com o exemplo acima, o valor p é dividido por zero e causará uma exceção. Portanto, ele é capturado pela instrução catch. Ele imprimirá a mensagem, Dividido por zero. O bloco finally será executado se uma exceção ocorreu ou não. Após a mensagem Dividido por zero, a mensagem dentro do bloco finally será exibida. Portanto, finally é um bloco usado no tratamento de exceções.

O que é finalize em Java?

Na POO, os objetos são criados usando classes. O método construtor pode inicializar um objeto quando ele é declarado. O processo é conhecido como inicialização. Java também tem um conceito chamado finalização. O Java Runtime é um coletor de lixo automático. Ele libera automaticamente os recursos de memória usados pelos objetos. O coletor de lixo chama esse método antes de destruir o objeto.

Alguns objetos podem conter recursos não-objetos. Um exemplo é um descritor de arquivo. Nessas situações, o coletor de lixo chama o método finalize. por exemplo. finalizar(). Este método executa o processamento de limpeza antes que o objeto seja coletado como lixo.

Qual é a semelhança entre final finally e finalize em Java?

Todos final, finally e finalize em Java são usados na programação Java

Qual é a diferença entre final finally e finalize em Java?

final vs finalmente vs finalize

final A final é uma palavra-chave em Java que evita alterar variáveis, evitar sobrescrever métodos e evitar estender classes.
finalmente The finally é um bloco no tratamento de exceções Java, que será executado independentemente de uma exceção ser lançada ou não.
finalizar O finalize é um método em Java, chamado pelo coletor de lixo antes de destruir o objeto completamente.
Aplicabilidade
final O final é aplicável para variáveis, métodos e classes.
finalmente O finally é aplicável com blocos try e catch.
finalizar A finalização é aplicável para objetos.

Resumo – final vs finally vs finalize em Java

The final, finally e finalize são termos comuns usados na programação Java. Suas palavras parecem as mesmas, mas têm uma diferença. A final é uma palavra-chave que impede a alteração de variáveis, evita a substituição de métodos e evita a extensão de classes. O finally é um bloco no tratamento de exceções, que será executado independentemente de uma exceção ser lançada ou não. O finalize é um método, chamado pelo coletor de lixo antes de destruir o objeto completamente. Essa é a diferença entre final, finally e finalize em Java Programming.

Baixe o PDF de final vs finally vs finalize em Java

Você pode baixar a versão em PDF deste artigo e usá-la para fins offline conforme nota de citação. Faça o download da versão em PDF aqui: Diferença entre final finalmente e finalize em Java

Recomendado: