CodeGym /Java tanfolyam /Java Multithreading /Névtelen belső osztályok konstruktorai/változói, és végső...

Névtelen belső osztályok konstruktorai/változói, és végső

Java Multithreading
Szint , Lecke
Elérhető

– Szia Amigo!

– Mint már tudod, a névtelen belső osztályoknak nem lehet konstruktora.

"Igen. Nem túl kényelmes. A konstruktorok nagyon fontosak."

"A mondás szerint semmi sem lehetetlen, ha eléggé akarod."

"Ne feledje, a statikus változóknak nincs statikus konstruktora, de van egy statikus inicializátor - a statikus blokk."

– Igen, emlékszem.

"Az anonim belső osztályoknak pontosan ugyanaz az inicializálója van, csak nem statikus."

Példa
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;
 }
}

"Ezúttal a névtelen belső osztálykódot pirossal, az inicializálóját (valójában a konstruktorát) lilával emeltem ki. A "konstruktornak" van törzse, de nincs metódusaláírása:"

Elvárás Valóság
class Car
{
int policeNumber;
 Car(){
  policeNumber = number;
 }
}
class Car
{
int policeNumber;
{
policeNumber = number;
}
}

"Egy ilyen osztályon belül deklarálhat változókat, és inicializálhatja őket az inicializálóban."

"Kiváló, most sokkal kevesebb korlátozás vonatkozik rájuk."

– Ezzel a belső órákat ismerkedünk meg, remélem tetszett.

– Nagyon sokat. Kim, Rishi és különösen te, Ellie tanulságai egyszerűen kiválóak voltak.

"Milyen édes beszélő! Folytasd…"

Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION