Hirdetés

Új hozzászólás Aktív témák

  • robisz
    senior tag

    Mégsem világos.

    Ha SUNDAY, MONDAY, stb. objektumok jönnének létre (amik Day típusúak), akkor nem
    Day day = Day.MONDAY;

    sorral használnám, hanem
    Day day = MONDAY;

    sorral.

    A
    Day day = Day.MONDAY; ből inkább az következik,
    hogy már létezik egy Day osztály, aminek van egy MONDAY field-je, ami szintén Day típusú (!?)

    Esetleg a Day osztálynak SUNDAY,MONDAY, stb. alosztályai, de ezt nem gondoltam még végig....

    Persze, mondhatnánk, hogy ez teoretikus fejtegetés, de azt hiszem, hogy amíg az ember nem érti teljesen a dolgok működését (vagy legalább nincs egy jó modell a fejében), addig nem is tudja használni. A Java pedig a szerszámom lesz, jó, ha megismerem...


    A SUNDAY, MONDAY stb.. olyanok mintha a Day osztály statikus field-jei lennének,
    (a compiler azzá is alakítja őket a háttérben) ÉS egyúttal Day típusú objektumok.
    A kettő korántsem zárja ki egymást!
    Így már gondolom érthető a
    Day day = Day.MONDAY;
    írásmód, hiszen a Day osztály statikus field-jére hivatkozol, ami egy Day típusú
    objektum. Pontosan ahogy te is leírtad.
    Ha akarod írhatod így is:
    Day day = MONDAY;
    de akkor a statikus importot kell használnod:
    import static Day.*;
    és ezzel gyönyörűen visszakanyarodtunk a legelső kérdésedhez :)

    [Szerkesztve]

Új hozzászólás Aktív témák