CodeGym /Corsi /Multithreading Java /Costruttori/variabili di classi interne anonime e finali

Costruttori/variabili di classi interne anonime e finali

Multithreading Java
Livello 4 , Lezione 8
Disponibile

"Ciao, Amico!"

"Come già sai, le classi interne anonime non possono avere un costruttore."

"Sì. Non è molto conveniente. I costruttori sono molto importanti."

"Come dice il proverbio, niente è impossibile se lo vuoi abbastanza."

"Ricorda, le variabili statiche non hanno costruttori statici, ma esiste un inizializzatore statico: il blocco statico."

"Sì, mi ricordo."

"Le classi interne anonime hanno esattamente lo stesso inizializzatore, tranne che non è statico."

Esempio
class Car {
 public ArrayListcreatePoliceCars(int count) { ArrayList result = new ArrayList(); for(int i = 0; i < count; i++) { final int number = i; result.add(new Car() { int policeNumber; { policeNumber = number; } }); } return result; }
}

"Questa volta ho evidenziato il codice anonimo della classe interna in rosso e il suo inizializzatore (in effetti, il suo costruttore) in viola. Il 'costruttore' ha un corpo, ma non c'è la firma del metodo:"

Aspettativa La realtà
class Car { int policeNumber;
 Car(){ policeNumber = number; }
}
class Car { int policeNumber;
{ policeNumber = number; }
}

"Puoi dichiarare variabili all'interno di una tale classe e inizializzarle nell'inizializzatore."

"Eccellente, ora ci sono molte meno restrizioni."

"Con questo, stiamo imparando a conoscere le classi interne. Spero ti sia piaciuto."

"Molto. Le lezioni da Kim, Rishi, e soprattutto da te, Ellie, sono state semplicemente di prim'ordine."

"Che chiacchierone! Continua..."

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION