Condivisione della tecnologia

Due domande dell'intervista Java ogni giorno (1)

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. La differenza e la connessione tra questa parola chiave e la super parola chiave

La parola chiave this viene utilizzata in questa classe.

All'interno di una classe, puoi usarlo in qualsiasi metodo per fare riferimento all'oggetto corrente.

La parola chiave this viene utilizzata per risolvere i conflitti tra variabili globali e variabili locali.

this() può chiamare costruttori sovraccaricati della stessa classe e deve essere posizionato sulla prima riga.

La parola chiave super viene utilizzata nelle sottoclassi.

Nelle sottoclassi, i metodi e le proprietà nelle classi madri possono essere chiamati tramite super.

super() può chiamare il costruttore nella classe genitore e deve essere posizionato sulla prima riga.

super() e this() non possono essere utilizzati contemporaneamente e nessuno dei due può essere utilizzato all'interno di un metodo statico.

2. La differenza tra parola chiave finale e parola chiave statica

final modifica variabili, metodi, classi

Se final modifica una variabile, la variabile è una costante. Le costanti non possono essere modificate e devono essere inizializzate una volta definite.

Se il metodo è definitivo, non può essere sovrascritto dalle sottoclassi

Se final modifica una classe, la classe non può più essere estesa o sottoclassata. String e Math nella libreria di classi Java sono classi finali.

costante del tipo di riferimento modificato finale

Se la costante è un tipo di dati di base, non può essere modificata.

Se la costante è di tipo riferimento, non è possibile assegnare altri oggetti al riferimento, ma è possibile utilizzare il riferimento per modificare le proprietà all'interno dell'oggetto.

Le variabili modificate da static sono variabili statiche, che sono essenzialmente variabili globali. Tutte le istanze della classe condividono le stesse variabili statiche. Pertanto, dopo aver modificato il valore di una variabile statica tramite un oggetto, la variabile statica a cui si accede tramite altri oggetti della classe avrà il valore modificato. Quando la classe viene caricata dalla macchina virtuale, le variabili statiche vengono inizializzate e le variabili statiche possono essere utilizzate senza creare un oggetto della classe.

I metodi modificati da static sono metodi statici. Possono solo chiamare direttamente altri metodi statici, possono accedere direttamente solo a dati statici e non possono fare riferimento in alcun modo alle parole chiave this o super.

Il blocco di codice modificato da static è un blocco di codice statico, che viene eseguito solo una volta e viene eseguito quando la classe viene caricata. La sua funzione è inizializzare staticamente i dati.