A java hivatkozás

Arrays in JAVA

A JAVA-ban egy tömböt azonnal el kell mondani egy bizonyos számú elemgel. A tömbök mind egydimenziós, mind többdimenziósak lehetnek.

.length () Adja meg a tömb elemeinek számát.

Osztályok a JAVA-ban

A java.lang.Object az összes osztály szülőosztálya. Az osztályokat nagybetűvel kell meghívni.

Minden egyes külső fájlból származó osztályt be kell illeszteni az importba.

Hozzáférési modifikátorok az osztályokban:

  • nyilvános - ez az osztály a csomagon kívül áll rendelkezésre.
  • Ha a nyilvánosság nincs megadva, akkor ez az osztály csak a csomagon belül látható, ezért importálása nem lehetséges.

Osztály létrehozása:

Az osztály inicializálása:

Egy osztályon belül nem csak változókat, hanem módszereket is implementálhat. A módszerek nem adhatnak vissza semmilyen értéket (üres), és visszaadhatják a különböző típusú értékeket (String, egész szám). Ha a módszer minden értéket visszaad, akkor biztosan van egy visszatérési módszer

Osztályépítő:

A konstruktor felhívja az osztály változókat a létrehozásakor.

A módszer jellemző:

Név Módszer neve Módszer aláírás Módszer neve + átviteli paramétertípusok típusa A szerződés módja neve + visszatérési típus

Vannak fogalmak az osztály túlterhelésének. Ez azt jelenti, hogy az osztályban számos olyan konstruktor vagy módszer létezik, amelyek azonos névvel rendelkeznek, de különböző bemeneti adatok. Különböző változószámúak lehetnek, különböző típusú változókkal, vagy teljesen üresek.

A statikus változók / osztályfüggvények olyan változók / függvények, amelyek mindig rendelkezésre állnak és globálisak ebben az osztályban, még akkor is, ha ez az osztály még nem lett inicializálva.

Egy statikus változóban / függvényben nincs ilyen osztály. nincs példa az objektumra.

Hozzáférés egy statikus változó / osztály funkcióhoz:

Statikus behozatal

Adjuk be az osztály statikus változóit vagy statikus funkcióit, és hozzáférjünk hozzájuk, vagy rövidített formában hívjunk.

Módszer változó számú paraméterrel.

A módszer egy függvény, a tulajdonság egy változó.

Boxing és Unboxing

A boxolás (csomagolás) egy objektum létrehozása és bármilyen típusú érték elhelyezése ebben az objektumban. Ezzel a hozzárendeléssel a külső érték objektum típusú objektum, és a belső objektum a hozzárendelt típus értékét jelenti.

Unboxing - a fordított folyamat, ha kivesszük a tárgy objektum változó, de kell, hogy kivonat yazvno jelzi a formátum, amely szükséges ahhoz, hogy az érték a (öntött konverzió).

Ellenőrizze a CAST transzformációk lehetőségét.

Alapvető OOP jellemzők

Öröklés Az osztályok képesek egy másik osztály tulajdonságainak és módszereinek örökölésére, kivéve a konstruktort. polimorfizmus

Lehetővé teszi, hogy felülírja a gyermekek szokásos módszerét a szülőkhöz képest.

Az objektum típusa határozza meg az osztály módszereit és tulajdonságait.

Encapsulation Az a képesség, hogy korlátozza a hozzáférést az osztályhoz tartozó változókhoz és módszerekhez a hozzáférés korlátozására.

Szuper ilyen. Használható például a super.value =. és a szülőosztály alapértelmezett konstruktorának hívásaként.

Változó módosító egy osztályon belül.

nyilvános változók és módszerek állnak rendelkezésre, függetlenül attól, hogy ez az osztály importálva van-e. magánváltozók és módszerek csak az ebbe az osztályba tartozó módszerekhez állnak rendelkezésre. védett változók és módszerek állnak rendelkezésre erre az osztályra és annak utódaira. (üres) változók és módszerek állnak rendelkezésre a csomag minden osztályában. A tranziens azt jelzi, hogy a fordító nem fogja optimalizálni ezt a változót. Többszálas alkalmazásokban használatos.

Beágyazott osztály

A beágyazott osztály egy másik osztályban definiált osztály, statikus hozzáférési módosítóval

Ez egy normál osztály, de a neve "Base class". "Beágyazott osztály"

Használható függetlenül a fő osztály inicializálásától.

Belső osztály

Belső osztály - egy osztály egy másik osztályon belül, hozzáférési módosítók nélkül (statikus)

A külső osztály példánya nem hozható létre külső osztály példány nélkül.

A külső osztály egyetlen példányán alapuló belső osztályú példányokat hozhat létre.

mert az osztály egy példánya már létező osztály alapján jön létre, akkor a Belső osztálynak hozzáférése van a szülőosztály mezőjéhez, ellentétben a beágyazott osztályhoz.

Absztrakt osztályok és módszerek

A definiált, de nem implementált módszert absztraktnak nevezik. Ha van legalább egy absztrakt módszer az osztályban, akkor ez az osztály is absztrakt lesz!

Az absztrakt osztály egy olyan osztály, amelynek példányát nem lehet létrehozni. Jelentése abban a tényben rejlik, hogy az örökösök létrehozásához alapszintként használható, és az örökösökben minden absztrakt módszer megvalósítható.

Interfészek (szerződések)

Az interfészek lehetővé teszik, hogy megadja az osztályban végrehajtandó módszerek halmazát. Az osztálynak tetszőleges számú interfésze lehet, melyeket vesszőkkel sorol fel.

Nem hozhat létre egy példányt a felületről. ez egy absztrakt osztály.

Hozzon létre egy interfész-típusú változót, amely tartalmazza az ezen a felületen deklarált összes módszert és az objektum módszereit.

Létrehozhatsz üres felületeket az osztályokhoz való csatoláshoz. Ez egyfajta hivatkozás a fejlesztő számára, hogy az osztály egy bizonyos csoporthoz tartozik. Ezután az operátor instanseof segítségével ellenőrizheti egy adott csoport osztályát.

Helyi osztályok

Ezek a módszerek által definiált osztályok. Ennek az osztálynak a hatókörét korlátozza az a módszer, amelyben létrehozzák.

Névtelen osztályok

Osztályok, amelyek meghatározása egybeesik ebbe az osztályba tartozó példány létrehozásához és össze van írva. Egy névtelen osztály egy példánya csak egy.

Osztályfeldolgozás

Class "var" = "osztály" .getClass () Szerezd meg a "csomag nevét." "Class name" "var" .getDeclaredFields () kap egy tömb deklarált osztály field.getModifiers () Szerezd meg a hozzáférés módosítót az átvitt területén (változó)

Gyűjtemények a JAVA-ban

A JAVA-gyűjtemények hasonlóak a C dinamikus tömbökhöz. Számukra nem kell megadnia a méretét előzetesen, mert ez önkényes lehet.

A típus nagybetűvel szerepel: Integer, String, Double

size () Szerezd meg a gyűjteményben szereplő elemek számát. add (E e) Új elemet ad hozzá a gyűjteményhez. clear () A gyűjtemény összes elemének eltávolítása (Objektum o) Ellenőrzi, hogy van-e ilyen elem a gyűjteményben. egyenlő (Obgect o) Összehasonlítja a gyűjtemény elemeit az objektummal. remove (Objektum o) Egy elem eltávolítása a gyűjteményből. iterator () Az Iterator osztály egy objektumát adja vissza, amely lehetővé teszi, hogy önkényesen rendezzék a gyűjtemény elemeit. toArray () Lehetővé teszi, hogy egy gyűjteményt objektum tömbévé alakítson. toArray (T [] a) Lehetővé teszi, hogy egy gyűjteményt egy adott típusú tömbhöz alakítson át.

ArrayList típusú gyűjtemények

Ha a típus nincs megadva, akkor a gyűjtemény összes eleme Objektum típusú lesz.

.get (int index) Kapja meg az elem értékét az index pozícióval. .set (int index, E elem) Lehetővé teszi egy adott érték és index hozzáadását. .subList (int fromIndex, int toIndex) Vágjunk néhányat a gyűjteményből.

Térkép típusú gyűjtemények

.get (Object kulcs) Az elem értékét adja meg a kulccsal. .put (K kulcs, V érték) Lehetővé teszi egy adott érték és egy kulcs elemének hozzáadását.

HashMap típusú gyűjtemények

A Térképvel ellentétben a struktúrában nem 2 mező, hanem 3 (K, V, Hash). A hash tárolja azokat az információkat, amelyek az értékek összehasonlítására szolgálnak, ami a keresési / hozzáférési idő csökkenését eredményezi.

Fájlok kezelése

Fájl típusú objektum létrehozása

A fileFullName általában konstans, amely megadja a fájl teljes elérési útját. Windows rendszerekben a határoló kettős "" kettős.

A fájlosztályt fájlok kezeléséhez és mappákhoz való használatra is használják.

.létezik () Ellenőrzi, hogy létrehozott-e egy fájlt ezzel a névvel. .getName () A fájl / mappa nevét adja vissza .getAbsolutePath () Az abszolút (teljes elérési utat + nevét a megadott fájlnév) adja meg. .getCanonicalPath () A fájl nevét (a szokásos formátumot), a kanonikus (teljes elérési utat + nevet) adja vissza. .isDirectory () A TRUE értéket adja vissza, ha a fájl könyvtár. .isFile () A TRUE értéket adja vissza, ha a fájl fájl. .hength () A fájl méretét bájtban adja vissza. .lastModified () A fájl legutóbbi módosításának dátuma UNIX formátumban (milliszekundum). .isHidden () Ellenőrzi a fájl megrövidülését. .renameTo ("fájlnév") A fájl átnevezése. .delete () Törli a fájlt. .list () NAME fájlokat és mappákat állít elő ebben a könyvtárban. .listFiles () A könyvtárban található fájlok és mappák tömbjét adja vissza.

Fájl olvasása

Fájl írása

FileOutputStream FileOutputStream "file" = új FileOutputStream ("elérési út és fájlnév"); "fájl" .write (); Bájt írni a fájlba BufferedWriter BufferedWriter "file" = új BufferedWriter (új FileWriter ("fájlnév")); PrintWriter PrintWriter "file" = új PrintWriter ("fájlnév"); "file" .close () Zárja be a fájlt az íráshoz.

Ha a PrintWritert használja, akkor a "fájl" a vett objektummal normál sztringként működhet, pl. printf, println stb. használata

A számlálót a módszereken kívül kell létrehozni:

Enum lehetővé teszi, hogy felülírja a meglévő módszereket, és újakat hozhat létre benne.

.ordinal () Visszaadja a számlálóelem indexszámát. .name () Visszaadja a számlálóelem nevét. .values ​​() Ezzel a típussal rendelkező tömböt adja vissza. .valueOf () Az array-értékek összes értékét tartalmazó tömb visszaadása.

Dátum és naptár

A dátum tárolja az ezredmásodpercek számát (hosszú formátumban) c 01/01/1970 00.00.00

.getDate Az aktuális dátumot .getDay Visszaadja a hét napját (0 - vasárnap) .parse ( „dátum line”) számát adja a hét napjai (0 - vasárnap)

A dátumot elavultnak tekintik, és helyettük ajánlott a Naptár használata.

DateFormat

Szerializáció és deserializáció

sorszámozás

Objektumadatok mentése egy adatfolyamba. A sorozathoz tartozó osztálynak rendelkeznie kell egy Serializable felületen.

Deserializing

Objektum adatok visszaállítása a patakból.

Egy objektum visszaállításához feltétlenül szükséges, hogy az objektum osztályát dokkolják, és szükséges, hogy ne csak az objektum adatait kell tárolni a soros streamben, hanem az objektumosztályra való hivatkozásokat is.

ObjectOutputStream Egy stream, a bemeneti objektumon, egy sorozatos byte stream kimenetén. ObjectInputStream Egy adatfolyam, a bemeneten egy sorozatos byte stream, az objektum kimenetén.

Kapcsolódó cikkek