Permalänk
Medlem

En liten javafråga

Jag stötte på den här raden när man skapar en JPanel efter koden i en bok:

setPreferredSize(new Dimension(gameWidth, gameHeight));

Vad kallas detta sättet att skapa en klass utan något namn som skickas som argument? Är detta en s.k. anonym klass?

Permalänk
Inaktiv
Skrivet av Tallrot:

Jag stötte på den här raden när man skapar en JPanel efter koden i en bok:

setPreferredSize(new Dimension(gameWidth, gameHeight));

Vad kallas detta sättet att skapa en klass utan något namn som skickas som argument? Är detta en s.k. anonym klass?

Det är inget speciellt namn på detta. Du har bara skickat in ett nytt ibjekt utan att deklarera det utanför. En anonym klass har en konstruktor som definieras inuti ett uttryck.

Permalänk
Medlem

För att förenkla vad som händer kan man skriva om det på detta sätt :

Dimension myDimension = new Dimension(gameWidth, gameHeight)); setPreferredSize (myDimension);

Visa signatur

Sapere Aude

Permalänk
Medlem
Skrivet av anon99339:

Det är inget speciellt namn på detta. Du har bara skickat in ett nytt ibjekt utan att deklarera det utanför. En anonym klass har en konstruktor som definieras inuti ett uttryck.

Ok men det går alltså att skapa ett objekt utan att ge det ett namn?

Permalänk
Inaktiv
Skrivet av Tallrot:

Ok men det går alltså att skapa ett objekt utan att ge det ett namn?

Ja. Om du hade skapat det utan att skicka in det någonstans så hade det kastats bort av Garbage Collection, men nu skickas det in till konstruktorn och sparas (förmodligen) där istället.

Skickades från m.sweclockers.com