Kiterjesztett leírása osztályok

És ezt a kódot fordítani. Ha ön használ NetBeans, majd amikor építeni a projekt, akkor a könyvtár épít / osztályokban, ahol megtalálja a két fájlt osztály - nevük ugyanaz, mint osztály nevét. Most próbálja megérteni, hogy miért egy ilyen leírást is szükség lehet.






Az ilyen „zárt” osztályok, akkor csak akkor használható ugyanabban a csomagban, amelyben található. Szóval lehet leírni egy osztályt, hogy senki nem fogja látni. Hogy bizonyos helyzetekben célszerű. Például, ha osztályt hozunk létre, hogy a logika célszerűen több osztályra osztható. Ie kényelmes be egy egyre osztályok. De a másik oldalon ezek korrepetálásának más osztályokba más csomagolásban, akkor jobb, ha nem tudom. Becsomagolás osztály szintjén 🙂
Nem szándékozom most sietnie, hogy dolgozzon ki olyan helyzet, amikor szükség lehet - amint találja magát ebben a helyzetben, csak legyen tudatában annak, hogy van egy ilyen lehetőség arra, hogy egy osztályban.
Ha beír egy bizonyos tapasztalatok, gyakran válik viszonylag egyszerű, hogy megtudja, hogy létezik olyan érdekes mechanizmusok, a technológia, design - van, hogy „kitalálni”, hogy „ez a dolog érdekes és emlékeztetni kell arra, és talán ásni”. Tapasztalat a beton - ez a második lépés. A dolgok nem mindig úgy működik, ahogy az a dokumentációt.

beágyazott osztályok

csomagolja edu. javacourse. sok;

public class ResearchClass

privát osztályú InternalOne

védett osztály InternalTwo

public class InternalFour

statikus privát osztályú InternalStaticOne

statikus védett osztály InternalStaticTwo

statikus osztály InternalStaticThree

statikus public class InternalStaticFour

public void testInternal ()

InternalOne INONE = új InternalOne ();







InternalTwo inTwo = új InternalTwo ();

InternalThree inThree = új InternalThree ();

InternalFour inFour = új InternalFour ();

InternalStaticOne Instone = új InternalStaticOne ();

InternalStaticTwo inStTwo = új InternalStaticTwo ();

InternalStaticThree inStThree = új InternalStaticThree ();

InternalStaticFour inStFour = új InternalStaticFour ();

Ügyeljen arra, hogy a 6-os vonal - ahol az objektum SimpleAbstract osztályból. Nézd nagyon óvatosan - vannak végén fogszabályozó. Nem kaptunk SimpleAbstract osztályban. és az azt követő - a névtelen osztályt, hogy már nem elvont. Ezért ez történt. Itt van egy ilyen furcsa eset.

inicializálás

Ebben a részben fogok szólni egy nagyon kényelmes mechanizmust beállítás a kezdeti értékek a mezőket az objektum és az osztály. Ha fut előre, a kezdeti értékek a telepítési feladat olyan fontos, hogy kidolgozott és végrehajtott nem egy technológiai és egy könyvtár neki. De nem fog belemenni annyira - csak nézd meg néhány jellemzője a Java nyelv.
Tehát, mint talán emlékszel, hogy állítsa be a mező értékeit már használt két lehetőség van:

Amellett, hogy ezek a módszerek, akkor egy másik (két változatban):

  1. Statikus inicializálás blokk
  2. Inicializálása blokk egység (tárgy)

átutalás

Felsorolás (enum) - a másik, meglehetősen kényelmes mechanizmust, amely megjelent a Java 1.5-ös verzió. Gyakran a program kényelmes leírni véges állandók. Például egy listát bolygó a Naprendszerben, a hét napjai, stb Egyrészt, hogy ez egy dinamikus különféle értelmetlen - elég sok jól bevált. Másrészt egyszerűen leírni néhány állandók szintén nem a legjobb megoldás. Mint például a nem túl szép napok a hét ezt a lehetőséget feljegyzések:

Változó wd felsorolásával az I. típusú első hozzárendeli az értéke «hétfő». A módszer println (én nem is tudom, minek nevezzem) I inicializálni a már bejelentett változó új értéket: péntek, ugyanabban az időben, nem is beszélve a felülírás toString. Eredmény: "Péntek Opa!".
Csak próbáltam kísérletezni - a hibákat a fordítóprogram nem ad. Szeretném megérteni, hogy miért működik, és mi a neve.

Amikor hívja System.out.println () az összes paraméter a zárójelbe alakítjuk szálakat. Az osztály (és enum is), hogy hívja a toString ().

Nos ... Kiderült, hogy érdemes egy kis türelmet és olvassa el a „A döntés alapján a osztály” - van egy választ erre a kérdésre 🙂




Kapcsolódó cikkek