Differenza Tra Final Finalmente E Finalize In Java

Sommario:

Differenza Tra Final Finalmente E Finalize In Java
Differenza Tra Final Finalmente E Finalize In Java

Video: Differenza Tra Final Finalmente E Finalize In Java

Video: Differenza Tra Final Finalmente E Finalize In Java
Video: Урок Java 369: Best practice 5: Почему нельзя использовать finalize? 2024, Potrebbe
Anonim

Differenza chiave: finale vs finale vs finalizzato in Java

Il finale, infine e finalizzare sono termini comuni utilizzati nella programmazione Java. La finale è una parola chiave. Può essere utilizzato per variabili, metodi o classi. Le variabili dichiarate come final dovrebbero essere inizializzate una sola volta. Non possono essere modificati. Poiché Java è un linguaggio che supporta la programmazione orientata agli oggetti, consente di creare classi da classi esistenti per migliorare la riusabilità del codice. A volte può essere necessario evitare di utilizzare le classi esistenti. Per questo, è possibile utilizzare final. Nella programmazione possono esserci degli errori ed è importante gestirli per eseguire correttamente il programma. Finalize è un metodo chiamato dal garbage collector. Quindi tutti questi termini hanno significati diversi di conseguenza. La final è una parola chiave che impedisce la modifica delle variabili, evita l'override del metodo ed evita di estendere le classi. Infine è un blocco nella gestione delle eccezioni, che verrà eseguito indipendentemente dal fatto che venga generata un'eccezione o meno. Il finalize è un metodo, chiamato dal garbage collector prima che distrugga completamente l'oggetto. Questa è la differenza fondamentale, infine, e finalizzare in Java.

CONTENUTI

1. Panoramica e differenza chiave

2. Cosa è definitivo in Java

3. Cosa è finalmente in Java

4. Cosa è finalizzato in Java

5. Somiglianze tra final finalmente e finalizzato in Java

6. Confronto affiancato - finale finalmente vs finalizzato in Java in forma tabulare

7. Riepilogo

Cos'è definitivo in Java?

La finale è una parola chiave in Java. Poiché Java supporta la programmazione orientata agli oggetti, le sottoclassi possono utilizzare le variabili e i metodi di una classe già esistente. La classe già esistente è la superclasse mentre la nuova classe è la sottoclasse. Se il programmatore vuole impedire che la variabile sia accessibile da altre classi, può dichiarare la variabile come 'finale'. Ad esempio, supponiamo che esista una variabile come p. Viene dichiarato come finale e inizializzato il valore 10. ad es. Final int p = 10. Se il valore p viene modificato di nuovo in 20, causerà un errore in fase di compilazione. La parola chiave finale impedisce di modificare il valore della variabile.

Una classe può utilizzare un metodo già presente in una classe esistente. Supponiamo che esista una classe chiamata B che ha un metodo display (). La nuova classe è C, ed estende la classe B. Se anche la classe C ha un metodo chiamato display (), il metodo display () della classe B originale viene sovrascritto. Se il programmatore vuole evitare che il metodo sovrascriva, può finalmente usare la parola chiave. es. final void display () {}. La definizione di un metodo finale garantisce che la funzionalità del metodo non verrà mai alterata.

Differenza tra final finalmente e finalize in Java
Differenza tra final finalmente e finalize in Java

Figura 01: finale, finalmente e finalizzato

È anche possibile utilizzare la parola chiave finale per una classe. La nuova classe non può ereditare variabili e metodi di una classe finale. Questo è utile per aumentare la sicurezza. Poiché la classe non può essere utilizzata dalle sottoclassi, i dati sono protetti.

Cosa c'è finalmente in Java?

Nella programmazione possono esserci errori. Gli errori possono causare output non corretti o interrompere l'esecuzione di un programma. È importante utilizzare un qualche tipo di meccanismo per prevenire questi risultati imprevisti. Gli errori possono essere di due tipi. Sono errori di tempo compilati ed errori di runtime. Si verificano errori in fase di compilazione a causa di errori sintattici. Alcuni errori comuni in fase di compilazione mancano del punto e virgola, delle parentesi graffe mancanti, degli identificatori di errori di ortografia, delle parole chiave e delle variabili non dichiarate. Il compilatore non creerà il file.class finché questi errori non saranno corretti.

A volte possono esserci programmi che si compilano correttamente ma danno un output sbagliato. Si chiamano errori di runtime. Alcuni errori di runtime comuni sono l'immersione di un numero intero per zero e l'accesso a un elemento fuori dai limiti di un array. Questi errori non causeranno un errore in fase di compilazione, ma l'output non è corretto. Un'eccezione è una condizione causata da un errore di runtime nel programma.

Quando si verifica un errore di runtime, Java crea un oggetto eccezione e lo lancia. Se l'oggetto eccezione non viene rilevato correttamente, visualizzerà un messaggio di errore e terminerà il programma. Se il programmatore vuole continuare l'esecuzione del programma con il resto del codice, deve catturare l'oggetto eccezione e visualizzare il messaggio necessario per l'azione correttiva. Questo processo è noto come gestione delle eccezioni.

In Java, try viene utilizzato per il codice che potrebbe causare un errore e generare un'eccezione. Il catch viene utilizzato per gestire l'eccezione generata dal blocco try. Possono esserci più dichiarazioni di cattura. Le istruzioni finalmente possono essere utilizzate per gestire un'eccezione che non viene rilevata da nessuna delle precedenti istruzioni catch. Il blocco finalmente verrà eseguito indipendentemente dal fatto che venga generata un'eccezione. Fare riferimento all'esempio fornito.

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

int risposta;

provare{

risposta = p / (q - r);

}

catch (ArithmeticException e) {

System.out.println ("Diviso per zero");

}

infine{

System.out.println ("Il blocco finalmente viene eseguito");

}

Secondo l'esempio precedente, il valore p è diviso per zero e causerà un'eccezione. Pertanto, viene catturato dall'istruzione catch. Stamperà il messaggio, Diviso per zero. Il blocco finalmente verrà eseguito indipendentemente dal fatto che si sia verificata o meno un'eccezione. Dopo il messaggio Diviso per zero, verrà visualizzato il messaggio all'interno del blocco finalmente. Pertanto, finalmente è un blocco utilizzato nella gestione delle eccezioni.

Cosa è finalizzato in Java?

In OOP, gli oggetti vengono creati utilizzando le classi. Il metodo del costruttore può inizializzare un oggetto quando viene dichiarato. Il processo è noto come inizializzazione. Java ha anche un concetto chiamato finalizzazione. Il runtime Java è un garbage collector automatico. Libera automaticamente le risorse di memoria utilizzate dagli oggetti. Il garbage collector chiama questo metodo prima di distruggere l'oggetto.

Alcuni oggetti potrebbero contenere risorse non oggetto. Un esempio è un descrittore di file. In queste situazioni, il garbage collector chiama il metodo finalize. ad esempio finalize (). Questo metodo esegue l'elaborazione di pulizia appena prima che l'oggetto venga sottoposto a garbage collection.

Qual è la somiglianza tra la finale e la finalizzazione in Java?

Tutti i final, infine e finalize in Java vengono utilizzati nella programmazione Java

Qual è la differenza tra final infine e finalize in Java?

Articolo diff. Al centro prima della tabella

finale vs finalmente vs finalizzare

finale La finale è una parola chiave in Java che impedisce la modifica delle variabili, evita l'override del metodo ed evita di estendere le classi.
infine Infine è un blocco nella gestione delle eccezioni Java, che verrà eseguito indipendentemente dal fatto che venga generata un'eccezione o meno.
finalizzare Il finalize è un metodo in Java, chiamato dal garbage collector prima che distrugga completamente l'oggetto.
Applicabilità
finale La finale è applicabile per variabili, metodi e classi.
infine Il finalmente è applicabile con una prova e cattura i blocchi.
finalizzare La finalizzazione è applicabile agli oggetti.

Riepilogo: finale vs finale vs finalizzato in Java

Il finale, infine e finalizzare sono termini comuni utilizzati nella programmazione Java. Le loro parole sembrano le stesse, ma hanno una differenza. L'ultima è una parola chiave che impedisce di modificare le variabili, evitare l'override del metodo ed evitare di estendere le classi. Infine è un blocco nella gestione delle eccezioni, che verrà eseguito indipendentemente dal fatto che venga generata un'eccezione o meno. Il finalize è un metodo, chiamato dal garbage collector prima che distrugga completamente l'oggetto. Questa è la differenza tra final, infine e finalize nella programmazione Java.

Scarica il PDF di Final vs Finalmente vs Finalize in Java

È possibile scaricare la versione PDF di questo articolo e utilizzarla per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui: Differenza tra la finale e la finalizzazione in Java

Raccomandato: