ePrometeusCorsoJavaJava
testi articoli
Testi Articoli  Download
Home | Basi | Espressioni | Comandi | Classi | Ereditarieta | Eccezioni | Thread | Utilita | 
CorsoJava è ora Video! Free for all!
Clicca Qui!

Classi
OOP
Ereditarietà
Polimorfismo
Chiamata
Classi
Record
Istanze
Costruttori
Campi
this
Allocazione
Più costruttori
this()
Inizializzazioni
Riferimenti
Ordine
Metodi
Invocazione
Overloading
Attenzione
Finalizzazione
Static e Final
Campi statici
Blocco static
Metodi statici
Visibilità
Costanti
Package
import
import *
Classpath
L'interprete
Zip e Jar

<<< Istanze >>>
Le variabili di una classe si chiamano campi

Entriamo adesso un pò in dettaglio su queste istanze. Abbiamo detto che le variabili che vengono messe al di fuori di un metodo ma dentro una classe si chiamano campi.

I campi sono sempre:
tipi primitivi
riferimenti ad altri oggetti

I campi sono come le altre variabili, e come tali hanno un tipo. Le variabili in Java possono contenere tipi primitivi (nel qual caso creata la variabile viene creato anche lo spazio in memoria per contenerlo) e tipi oggetti (nel qual caso viene creata solo la variabile e nitente alltro).

Non si può contenere un altro oggetto con un campo
Si deve ricorrere all'ereditarietà.

Notare che se una classe contiene un campo di un'altra classe, questo non significa che adesso la classe ne contiene i campi: invece contiene una "scatola" che a sua volta contiene un'altra scatola. Usando l'ereditarietà di riesce invece a creare una nuova claase che ha nuovi campi e mantiene i vecchi. E non ci sono "scatole" (ovvero oggetti) a frapporsi.



Allocazione di una istanza new Stack()

Quando alloco una nuova istanza, senza specificare altro, succede questo:

Quando alloco una nuova istanza, senza specificare altro, succede questo:

crea i campi tipi primitivi

Vengono innanzitutto creati tutti i campi primitivi. In particolare lo spazio per contenere le variabili c'è ed è inizializzato a zero.

crea i riferimenti nulli ai sotto oggetti

Invece i campi di tipo oggetto vengono si inizializzati, ma al valore nullo. Infatti una variabile di tipo oggetto può eventualmente non contenere nulla. Ed è quello che sicuramente succede se nessuno dà maggiori informazini.

Stack s= new Stack () ;

Creando uno stack senza ulteriori ottimizzazione, si ottiene quello che è visibile in figura.

ePrometeus s.r.l. - Web Software House & Open Source System Integrator
MILANO - SAN BENEDETTO DEL TRONTO(AP)
Contatti: info@eprometeus.com