"Hallo Amigo!"

"Zoals je al weet, kunnen anonieme innerlijke klassen geen constructor hebben."

"Ja. Het is niet erg handig. Constructeurs zijn erg belangrijk."

"Zoals het gezegde luidt: niets is onmogelijk als je het graag genoeg wilt."

"Vergeet niet dat statische variabelen geen statische constructors hebben, maar er is een statische initializer - het statische blok."

"Ja, ik herinner het me."

"Anonieme innerlijke klassen hebben exact dezelfde initializer, behalve dat het niet statisch is."

Voorbeeld
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;
 }
}

"Deze keer heb ik de anonieme interne klassecode in rood gemarkeerd en de initializer (in feite de constructor) in paars. De 'constructor' heeft een body, maar er is geen methodehandtekening:"

Verwachting Realiteit
class Car
{
int policeNumber;
 Car(){
  policeNumber = number;
 }
}
class Car
{
int policeNumber;
{
policeNumber = number;
}
}

"Je kunt binnen zo'n klasse variabelen declareren en ze initialiseren in de initializer."

"Uitstekend, nu zijn er veel minder beperkingen."

"Daarmee leren we innerlijke klassen kennen. Ik hoop dat je het leuk vond."

'Veel. De lessen van Kim, Rishi, en vooral van jou, Ellie, waren gewoon top.'

"Wat een lieve prater! Blijf doorgaan..."