Oggetti e riferimenti sono termini associati a una "classe" nel linguaggio di programmazione Java.
Punti chiave
- Un riferimento in Java è una variabile che contiene l'indirizzo di memoria di un oggetto, mentre un oggetto è un'istanza di una classe che contiene dati e metodi per manipolare tali dati.
- I riferimenti vengono utilizzati per interagire con gli oggetti in Java, consentendo la manipolazione delle proprietà degli oggetti e l'invocazione dei metodi degli oggetti. Al contrario, gli oggetti sono le effettive istanze di dati e metodi creati dalle definizioni di classe.
- Più riferimenti possono puntare allo stesso oggetto, consentendo l'accesso condiviso e la modifica dei dati dell'oggetto. Al contrario, gli oggetti possono essere creati e distrutti dinamicamente durante l'esecuzione di un programma Java.
Riferimento vs oggetto in Java
La differenza tra un oggetto e un riferimento è che un oggetto è un'istanza di una classe ed è memorizzato in un particolare slot di memoria. Un 'riferimento' indica il luogo in cui sono archiviate le variabili ei metodi degli 'oggetti'.
Una classe è un progetto o un modello che fornisce istruzioni sulla creazione di oggetti. L'oggetto si basa su questo La struttura, compilando i campi necessari in base a quel modello di classe.
Come indica il nome, un riferimento alla memoria è semplicemente un riferimento allo slot di memoria.
Tavola di comparazione
Parametro di confronto | Oggetto | Riferimento |
---|---|---|
Definizione di base | È l'istanza di una classe e tutti gli elementi che contiene sono basati sul progetto della classe. | Un semplice riferimento di memoria che indica dove l'oggetto è archiviato in uno slot di memoria. |
Formato per la creazione | Esiste un formato semplice per la creazione di un oggetto: ClassName reference_variable = new ClassName (con parametro); | Il riferimento alla memoria viene creato insieme all'oggetto. Viene utilizzato nel formato per la creazione di oggetti e riceve un nome di variabile. |
Elementi | Contiene metodi e variabili basati sulla classe. | Contiene una sequenza di bit che memorizza l'indirizzo dell'oggetto. |
Mutevole | Gli oggetti hanno stati e comportamenti che possono essere cambiati, cioè, la condizione dell'oggetto può essere cambiata. | Il valore di riferimento della variabile non può essere modificato. Può rimanere solo con il tipo di dati con cui è stato dichiarato. |
Significato virtuale | È un'entità del mondo reale che contiene una qualche forma di memoria o dati. | Non è altro che un nome di variabile che non ha alcun significato reale. È come il nome di una persona che fa riferimento a quella persona. |
Che cos'è il riferimento in Java?
Un riferimento fornisce l'indirizzo in cui è stata allocata la memoria dell'oggetto.
L'oggetto non viene mai utilizzato direttamente; assegniamo invece delle variabili di riferimento, che indirettamente fungono da intermediario tra l'oggetto chiamato e l'oggetto immagazzinato nella memoria.
Java consente anche quattro diversi tipi di riferimenti:
- Riferimento forte.
- Riferimento debole.
- Riferimento morbido.
- Riferimento Fantasma
Viene creato un riferimento all'interno del formato per la creazione di un oggetto da una classe –
Nome della classe riferimento_variabile = new ClassName(con parametro);
Qui la 'reference_variable' è il valore assegnato al riferimento. Questo valore non può essere modificato ed è di un solo tipo di dati.
Cos'è l'oggetto in Java?
Un oggetto è semplicemente un'istanza della classe. Rappresenta la struttura del corso e segue le istruzioni del blueprint per tutti gli elementi presenti al suo interno, come metodi e variabili.
Si vede che gli oggetti hanno stati e comportamenti. Qui, gli stati sono un'entità 'astratta', che contiene tutte le proprietà delle cose ei valori di quelle proprietà. In poche parole, a stato per un essere umano sarebbe – nome, razza, età ecc.
I comportamenti legano la struttura dell'oggetto. Legano le relazioni tra gli attributi per consentire all'oggetto di eseguire funzioni/operazioni quando viene chiamato.
L '"Oggetto" viene creato utilizzando tre passaggi distinguibili-
- Dichiarazione
- la creazione di istanze
- Inizializzazione
Nella prima fase viene dichiarato un nome di variabile di un tipo di oggetto, che diventa il riferimento per la memoria dell'oggetto.
Nella seconda fase, istanziazione, abbiamo una parola chiave, 'new', usata per creare l'oggetto.
Nella terza fase, inizializzazione, abbiamo la parola chiave 'new' seguita da un 'costruttore', che ha lo stesso nome della classe da cui viene creato l'oggetto, insieme ai parametri.
Il formato compilato per la creazione dell'oggetto è come tale:
ClassName reference_variable = new ClassName (con parametro) ;
Qui, il riferimento viene creato utilizzando 'reference_variable' e ClassName (con parametro) deve chiamare il costruttore.
Esempio – Persona stu1 = new Persona();
Qui Person si riferisce alla classe, stu1 è il valore di riferimento della variabile che punta al nuovo oggetto che viene creato e Person() è il costruttore.
Principali differenze tra riferimento e oggetti in Java
- Un oggetto è un'istanza derivata dalla struttura di una classe. Un riferimento è una variabile che punta alla posizione dell'oggetto in memoria.
- Viene creato un oggetto con un formato specifico: "ClassName reference_variable = new ClassName(with parameter);". Un riferimento viene creato insieme alla creazione dell'oggetto all'interno del formato.
- https://dl.acm.org/doi/abs/10.1145/1287624.1287637
- https://cds.cern.ch/record/1033269/files/9780596007737_TOC.pdf
Ultimo aggiornamento: 11 giugno 2023
Sandeep Bhandari ha conseguito una laurea in ingegneria informatica presso la Thapar University (2006). Ha 20 anni di esperienza nel campo della tecnologia. Ha un vivo interesse in vari campi tecnici, inclusi i sistemi di database, le reti di computer e la programmazione. Puoi leggere di più su di lui sul suo pagina bio.
Ho trovato molto interessante la spiegazione sugli stati e sui comportamenti degli oggetti. Fornisce una chiara comprensione di come funzionano gli oggetti in Java.
La tabella comparativa presenta una panoramica concisa delle differenze tra oggetti e riferimenti. È molto utile per comprendere le distinzioni fondamentali.
L'articolo spiega magnificamente le principali differenze tra riferimenti e oggetti in Java. La parte relativa agli stati e ai comportamenti è particolarmente illuminante.
Apprezzo il modo in cui l'articolo sottolinea l'importanza del progetto fornito da una classe nella creazione di oggetti. Questo aiuta a chiarire il concetto ai principianti.
La spiegazione metaforica dello "stato" di un oggetto è un ottimo modo per concettualizzarlo per i lettori. Rende un concetto complesso più riconoscibile e più facile da comprendere.
L'articolo non approfondisce i tipi di dati complessi e il modo in cui vengono gestiti da riferimenti e oggetti in Java. Un po' più di dettagli su questo sarebbe utile.
Questo articolo fornisce un confronto approfondito tra oggetto e riferimento in Java. La spiegazione sul formato per la creazione degli oggetti è particolarmente utile!
Sono completamente d'accordo con te. Le informazioni dettagliate sulla creazione di oggetti e riferimenti sono approfondite e informative.
La spiegazione dettagliata nella sezione "Che cos'è il riferimento in Java?" sezione fornisce una chiara comprensione di come funzionano i riferimenti nella programmazione Java. È molto ben articolato.
L'esempio fornito per la creazione di un oggetto è utile per illustrare il processo. Aggiunge una dimensione pratica alla spiegazione teorica.
La sezione sui tipi di riferimenti in Java è ben spiegata. Aggiunge una conoscenza completa sui diversi tipi di riferimento disponibili.