In parole povere, cosa significa "statico" in Java?



2 Answers

In termini molto laici la classe è uno stampo e l'oggetto è la copia realizzata con quella muffa. Statico appartiene allo stampo e può essere consultato direttamente senza fare alcuna copia, da qui l'esempio sopra

Question

Questa domanda ha già una risposta qui:

Mi è stato detto diverse definizioni per questo, ho guardato su Wikipedia, ma come principiante di Java non sono ancora sicuro di cosa significhi. Qualcuno che parla fluentemente Java e idiota?




Un altro grande esempio di quando attributi e operazioni statici vengono utilizzati quando si desidera applicare il modello di progettazione Singleton . In poche parole, il modello di progettazione di Singleton garantisce che un solo oggetto di una determinata classe venga mai costruito durante la vita del sistema. per garantire che venga costruito un solo oggetto, le tipiche implementazioni del modello Singleton mantengono un riferimento statico interno alla singola istanza dell'oggetto consentita e l'accesso a tale istanza viene controllato mediante un'operazione static




I punti sopra sono corretti e voglio aggiungere alcuni punti più importanti sulla parola chiave statica.

Internamente ciò che accade quando si utilizza la parola chiave statica è che verrà memorizzato nella memoria permanente (cioè nella memoria heap ), sappiamo che ci sono due tipi di memoria che sono memoria di stack (memoria temporanea) e memoria heap (memoria permanente), quindi se non si utilizza la parola chiave statica, la memoria temporanea verrà archiviata nella memoria di stack (oppure è possibile chiamarla memoria volatile ).

quindi avrai un dubbio che a che serve questo diritto ???

esempio : static int a = 10; (1 programma)

solo ora ho detto se si usa la parola chiave statica per variabili o per il metodo che verrà memorizzato nella memoria permanente a destra.

quindi ho dichiarato la stessa variabile con la parola chiave static in un altro programma con un valore diverso.

esempio : static int a = 20; (2 programma)

la variabile 'a' è memorizzata nella memoria heap dal programma 1. la stessa variabile statica 'a' si trova nel programma 2 in quel momento non creerà ancora una variabile 'a' nella memoria heap invece che sostituirà solo il valore di un da 10 a 20 .

In generale creerà ancora una variabile 'a' nella memoria dello stack (memoria temporanea) se non dichiarerai 'a' come variabile statica.

nel complesso posso dire che, se usiamo la parola chiave statica
1. possiamo risparmiare memoria
2. possiamo evitare duplicati
3. Non c'è bisogno di creare oggetti per accedere alla variabile statica con l'aiuto del nome della classe, è possibile accedervi.




Related