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

<<< Ordine >>>
L'ordine reciproco delle inizializzazioni è significativo

In una classe l'ordine non è importante se non in casi ben precisi. Il primo caso in cui l'ordine è importante è dentro un metodo. I comandi e le espressioni vengono valutati seguento il loro ordine, e il flusso varia a secondo di if e while che vengono incontrati. Questo è abbastanza scontato. Ma c'è un altro caso in cui l'ordine conta, ed è l'ordine in cui i campi sono ordinati TRA DI LORO. Per esempio:

class Nums {
    int a=1;
    int b=a+1; // giusto
    int c=d; // sbagliato
    int d=0;
}
Le inizializzazioni vengono eseguite in ordine di apparizione

Tutte le inizializzazioni vengono eseguite nell'ordine in cui compaiono nel testo di una classe. Non importa se in mezzo ci sono metodi o costruttori (quelli vengono eseguiti dopo). In una inizializzazione si possono usare altri campi ma solo se COMPAIONO DOPO. Nell'esempio io posso inizializzare b usando a perchè il valore è già noto, ma non posso assegnare d a c perchè ancora non se ne sa nulla.

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