Példány Java-ban Például a Java példányának működése és szabályai

Tartalomjegyzék:

Anonim

Bevezetés a Java példába

Az instanceOf egy Java programozási nyelv osztály, amely meghíváskor visszaadja a logikai értéket, és az Objektum és az osztály / interfész kapcsolatának vizsgálatára szolgál. Mivel képes összehasonlítani ezt a kettőt, „típus-összehasonlító operátornak” is hívják. Egyszerűen az instanceOf annak ellenőrzésére szolgál, hogy egy objektum bármilyen típusú-e vagy sem, és visszaad egy logikai értéket, amely igaz vagy hamis. Az ExampleOf az egyik hasznos operátor a java-ban, amely segít hasznos információk megszerzésében egy objektumról, futási környezetben.

Szintaxis:

Az instanceOf osztály segítségével ellenőrizhető, hogy az objektum valamely osztályba tartozik-e vagy sem.

obj instanceOf object

A fenti szokásos szintaxis a exampleOf osztály. Az obj az objektum neve, amelyet korábban kellett létrehozni (referencia). PéldáulOf a kulcsszó, és az objektum az osztály vagy az interfész, amellyel egyeztetjük az obj objektumot.

Különböző esetekben bebizonyítható, hogy az instanceOf nagy jelentőségű, például ha van egy objektumgyűjteményünk, és nem biztos abban, hogy melyik tárgyra utal. Egy ilyen esetre példa lehet egy egyszerű nyomtatvány, sok vezérléssel.

Ezenkívül, ha egy NULL értékű változóval az instanceOf-et használjuk, akkor biztos, hogy hamis értéket ad vissza.

Hogyan működik az eset?

A java operátor példánya operátor egy egyszerű kapcsolaton működik. Egyszerűen fogalmazva, hogy a kapcsolat egy objektumorientált fogalom, ahol összehasonlítottuk vagy mondjuk, az absztrakciók közötti kapcsolaton dolgozunk, ahol az A osztály a B osztály alosztálya. Ez egy kapcsolat, amely teljes egészében az öröklésen alapul. Más szavakkal, olyan, mintha azt mondanánk, hogy „X Y típusú”.

Most értjük meg az instanceOf működését, a megfelelő kóddal együtt.

Először létrehozunk egy Parent nevű osztályt.

Kód:

Class Parent(
)
Then let's add a simple main class.
public static void main(String args()) (
)

Ezután létrehozunk egy példányt Szülői osztályunkból.

Parent child = new Parent();

Végül, az operátor példányát használjuk fel a gyermek és a szülő kapcsolatának ellenőrzésére. A következők szerint járnak: szülői gyermekpéldány

Most, ahogy korábban említettük, a exampleOf szintaxisa egy ellenőrizendő objektumról származik, majd az instanceOf kulcsszó, majd az osztály / interfész, amellyel az adott objektumot tesztelni kell.

Bármely ponton, ahol találkozunk az „kiterjeszt” vagy az „eszköz” kulcsszóval, egy osztálynyilatkozatban, ez egyértelmű jele az is-a kapcsolatnak.

Példák Java példányra

A következő példa az instanceOf egysoros használatát szemlélteti.

Class instanceof_java(
public static void main(String args()) (
instanceof_java s = new instanceof_java();
System.out.println(s instanceOf instanceof_java);
)
)

Kódértelmezés: Egy egyszerű osztálypéldány létrehozásával kezdődött. Az instanceof_java osztályban van a fő osztályunk, és a fő osztályunkon belül létrehozunk egy objektumot. Ez az objektum példány_java típusú. Ezután az instanceOf működésének megvalósításához kimeneti nyilatkozatot adtunk az s objektummal. Az utolsó sorban átadtuk az s kulcsszó példányát és a szülő osztályt. Végrehajtás után a kód visszatér 'true' értékre, mert az objektum példány típusú.

Ha tovább megyünk, ha van egy ismert osztályunk vagy interfészünk tárgya, de nem adtunk hozzá értéket ugyanahhoz az objektumhoz, akkor akkor hamis lesz, ha ugyanabba az osztályba tartozik.

Class instanceof_sample(
public static void main(String args()) (
instanceof_sample new = null;
System.out.println(new instanceOf instanceof_sample);
)
)

Itt van hasonló kód, mint a korábbi példában, de null értékű objektummal. Ha végrehajtja, akkor ez a kód hamis lesz. Mint láthatjuk, az new object az exampleof_sample példánya, de az új null értékkel van rendelve, amely hamisan tér vissza.

Szabályok például az Üzemeltetőre

Annak alapján, hogy az objektum ref nem null, és az említett típusú példány. Ha X az említett objektum egyszerű osztálya, Y pedig a feloldott osztály vagy egy interfésztípus tömbje.

  • Ha X egy egyszerű osztály, akkor:
  • Ha Y egy osztálytípus, akkor az X-nek egy Y alosztálynak kell lennie, vagy Xnek ugyanannak az osztálynak kell lennie, mint az Y-nak.
  • Ha Y interfész, akkor az X osztálynak végre kell hajtania a T interfészt.
  • Ha az X típusú interfész, akkor:
  • Ha Y osztálytípus, akkor Y objektumnak kell lennie.
  • Y lehet ugyanaz, mint az X felület, vagy X szuper felülete, ha Y interfész.
  • Ha X egy osztály, amely az SC () tömbtípust képviseli, amely SC típusú komponensek tömbje, akkor:
  • Ha Y osztálytípus, akkor Y objektumnak kell lennie.
  • Ha Y interfész típusú, akkor Y tömbök által megvalósított interfész típusnak kell lennie.

Végül bemutatjuk a program példáját, hogy megértsük, hogy a szülőobjektum nem lehet a gyermekosztály példánya.

Program

class Subject ( )
class Topic extends Subject ( )
class instanceof_java
(
public static void main(String() args)
(
Subject history = new Subject ();
if (history instanceof Topic)
System.out.println("history is instance of Topic");
else
System.out.println("history is NOT instance of Topic");
)
)

Kódértelmezés: Annak érdekében, hogy megértsük az instanceOf operátort különböző forgatókönyvekben, a fenti kódot írtuk. Készítettünk egy egyszerű osztálytant, majd egy másik osztálytémát, amely kiterjeszti a Tárgy osztályt, így itt az osztálytéma lesz gyermek és osztálytéma mint szülő. Aztán újabb osztály a fő módszerrel. A fő módszer keretében létrehoztuk egy új példányt a szülőosztály tantárgyáról. Az IF ELSE hurokban a példányobjektum állapotát az Alany szülőosztálygal ellenőriztük. Ha a feltétel teljesül, akkor az „előzmény egy téma példánya”, és „az előzmény NEM a téma példánya” lesz, ha a feltétel nem sikerül.

A fenti kód végrehajtása után a kimenet „az előzmények NEM a téma példánya” lesz, azaz az IF-ben átadott feltétel nem teljesül. Ez azért történt, mert megpróbáltuk ellenőrizni a „történelem” objektum szülőjét a Téma osztály segítségével. Tudjuk, hogy az osztálytéma kiterjeszti a tantárgy osztályt, vagyis a téma a tantárgy alosztálya. És amikor megpróbáltuk ellenőrizni a történelem típusát a Téma osztály segítségével, akkor hamis (NEM) eredményt ad vissza. Ez azt jelenti, hogy a Szülőobjektum nem lehet osztály példánya.

Kimenet:

Összegzés - példája Java-ban

Megtanultuk a Java példányait, például egyszerűen eldönti, hogy az objektum adott-e. Megértettük, hogy egy kapcsolat milyen hatással van az üzemeltető példájára. Más néven összehasonlító operátort is ismert, a instanceOf az öröklésen alapul.

Ajánlott cikkek

Ez egy útmutató a Java példányához. Itt megvitatjuk, hogyan működik a Java Java példány, a kód értelmezésével kapcsolatban. Lehet, hogy megnézi a következő cikkeket is, ha többet szeretne megtudni -

  1. Java kulcsszavak
  2. Java kommentárok
  3. Cheat Sheet JavaScript
  4. PHP kulcsszavak