enum: classi prefatte che non cambiano e non può essere estesa
costanti di enumerazione: oggetti prefatti nella classe stessa al quale va dato il
nome e ,se richiesto, il valore
esempio:
public enum valuta{
EUR("Euro"), USD("Dollaro"), GBP("Sterlina"); //Costanti di
enumerazione
NomeClasseEnum.values(); metodo per "preparare un array" di costanti enum
NomeOggetto.ordinal(); recupera l'indice dell'oggetto
Sugli enum si può fare lo switch direttamente su un oggetto enum mettendo il nome
della costante di enumerazione
esempio:
switch(euro)
case EUR:
break;
case USD:
break;
case GBP:
break;
PACKAGE
Sistema per organizzare le classi, si formano come una matrioska e sono come una
libreria che contiene libri (classi),
la visibilità è come fosse privata al di fuori del package e protetta per le sotto
classi al di fuori.
ECCEZIONI
exception servono a gestire gli errore esterni, sono classi speciali fatte apposta
per gestire gli errori
try{
}catch anti crash, per evitare che dati immessi sbagliati dall'utente facciano
chiudere l'applicazione
si possono catturare più di una exception, anche l'exception stessa per catturarle
tutte essendo la super classe
throw new si usa per decidere che cos'è un eccezione/errore, nel nome delle classi
create per questo si mette Exception in coda al nome
MODULI
Insieme di package, li contiene per svolgere specifiche istruzioni
requires NomeModulo: per far funzionare un modulo su un altro modulo
exports: rendere visibili i package ad altri moduli
esempio: exports secondario.utilita (nome package) ------> secondario1\utilita
to NomeModulo lo esporti solo ad un modulo
CLASSE DATE
Date NomeClasseData =new Date();
the epoch = fa un calcolo dal 1 gennaio del 1970 per aggiornare la data attuale,
valori positivi data dopo il 70, negativi prima del 70
DateFormat = seleziona il formato della data
.FULL = mette anche il nome del giorno
Locale.NomePaese = formato del paese selezionato
Calendar = ?
GetInstance = ?
getDateTimeInstance = ?
.SHORT/MEDIUM/LONG/FULL =tipi di infromazioni che mostra, da meno informazioni al
massimo delle informazioni
SimpleDateFormat = definisco io il pattern ("H:m d/M/y")
CLASSI WRAPPER
classi precostruite in java gestiscono le primitive ad oggetti
autoboxing= incapsula automaticamente un primitivo in una classe wrapper
autounboxing= cerca il primitivo automaticamente nella classe wrapper
classi generiche ----> <A> parametro= per controllare che la sintassi funzioni e
non rompa il programma, si possono mettere più parametri <A, B> e si possono
mettere estensioni per limitarne l'utilizzo a solo determinate classi
COLLEZIONI/FRAMEWORK
dei contenitori ovvero un oggetto che ha al suo interno altri oggetti
PILA: criterio LIFO (last in firt out), l'ultimo elemento sarà il primo gestito
CODA: FIFO (first....) gestito dal primo inserito
CODA DOPPIA:
LISTA: CONCATENATA O COLLEGATA, gruppo di elementi, i nodi della lista, disposti in
modo sequienziale
ARRAY DINAMICI: array di dimensione non fissata, si allarga o stringe in base ai
valori all'interno senza limiti
ALBERO BINARIO: nodi con altri 2 nodi collegati (simil albero genialogico)
MAPPA: elementi chiave e valore, ogni chiave ha un valore, e può avere un solo
valore
DIZIONARI: uguale alla mappa ma con più valori
GRAFO: nodi collegati con archi
INSIEME: gruppo di elementi nel quale non si può ripetere il valore
set, list, map le più utilizzate
Cosa da chiedere:
database: indici