Osuus sisään on operaattori, jota käytetään objektin tyypin tarkistamiseen. Toisin sanoen se testaa, onko objekti tietyn luokan esiintymä vai käyttöliittymä. Tällaisen operaation tulos on joko Totta tai Väärä
Seuraavat vihjeet käsitellään tässä artikkelissa,
- esiintymä
- Nulliarvoisen muuttujan käyttö
- Vanhempi objekti ei ole lapsi
- Downcasting
- Ymmärtäminen instanceOf
Tämän artikkelin siirtyminen Java-sovelluksen instanceOfiin.
Tämä operaattori tunnetaan myös nimellä tyyppi vertailuoperaattori , koska esiintymää verrataan tyyppiin.
Syntaksi:
(objekti) instanceof (tyyppi)
Alla on esimerkki instanssioperaattorista:
public class Main {public static void main (Merkkijono [] argumentit) {Main s = new Main () System.out.println (s Main-esimerkki)}}
Tuotos
totta
Esimerkissä käyttäjälle palautettu lähtö on totta eli ' s ”On luokan Main esiintymä.
Esimerkki
Tyypin alaluokan objekti on myös eräänlainen pääluokka.
Seuraavassa esimerkissä Rock laajentaa musiikkia. Rock-esine voidaan viitata joko rock- tai musiikkiluokkaan.
luokka Musiikki {} luokka Rock laajentaa musiikkia {// Rock perii musiikin julkisen staattisen void main (String args []) {Rock r = new Rock () System.out.println (rock-esiintymä)}}
Tuotos
totta
Tämän artikkelin siirtyminen Java-sovelluksen instanceOfiin.
lajittelemalla taulukko c ++ -ohjelmassa
Käyttämällä muuttujaa, jolla on nolla-arvo
luokka Musiikki {julkinen staattinen void main (String args []) {Musiikki m = null System.out.println (m: n musiikki) // false}}
Yllä olevassa esimerkissä määritellyllä muuttujalla on nolla-arvo.
Palautettu lähtö on siis väärä.
Tuotos
väärä
hadoopin asettaminen ubuntuun
Seuraava kohta on otettava huomioon käytettäessä instanssioperaattoria:
Tämän artikkelin siirtyminen Java-sovelluksen instanceOfiin.
Ylempi objekti ei ole Lapsen esiintymä
class Parent {} class Child laajentaa Parent {} class Main {public static void main (String [] args) {Parent p = new Parent () if (p Childof) System.out.println ('p on Child-esiintymä ') else System.out.println (' p ei ole Lapsen esiintymä ')}}
Tuotos
P ei ole Child-esiintymä
Tämän artikkelin siirtyminen Java-sovelluksen instanceOfiin.
Downc hämmästyttävä
Kun alaluokka viittaa vanhempien luokan objektiin, menetelmä tunnetaan nimellä downcasting.
Suorita downcasting suorittaessaan kääntäjä palauttaa kokoamisvirheen.
Rock r = uusi musiikki () // käännösvirhe
Kun käytetään tyypin määritystä, ClassCastException heitetään ajon aikana.
Rock r = (Rock) uusi musiikki () // kokoaminen onnistui, mutta ClassCastException heitettiin
Ainoa tapa, jolla downcasting on mahdollista, on käyttämällä instanceof-operaattoria.
luokka Musiikki {} luokka rock laajentaa musiikkia {staattinen void-menetelmä (musiikki m) {if (m rock-esiintymä) {Rock r = (Rock) m // downcasting System.out.println ('Downcasting Successful')}} julkinen staattinen void main (Merkkijono [] argumentit) {Musiikki m = uusi rock () Rock-menetelmä (m)}}
Tuotos
Downcasting onnistunut
Tämän artikkelin siirtyminen Java-sovelluksen instanceOfiin.
Ymmärtäminen instanceOf:
PéldionOf-menetelmä voidaan ymmärtää tarkemmin seuraavien esimerkkien avulla:
Tässä esimerkissä käytetään käyttöliittymää:
käyttöliittymäesimerkki {} luokka S toteuttaa ilmentymän {public void s () {System.out.println ('Ensimmäinen menetelmä')}} luokka T toteuttaa ilmentymän {public void t () {System.out.println ('Toinen menetelmä') }} luokka Kutsu {void invoke (ilmentymä i) {// upcasting if (i esimerkki S: stä) {S s = (S) i // Downcasting ss ()} if (i T: n instanssi) {T t = (T) i // Downcasting tt ()}}} luokka Main {public static void main (String args []) {Esimerkki i = new T () Invoke v = new Invoke () v.invoke (i)}}
Esimerkin tulos on seuraava:
Toinen menetelmä
mikä on puskuroitu lukija
Tämä esimerkki osoittaa tämän käsitteen tarkasti. Tässä vanhempien luokka on Instrument, ja kaksi lapsiluokkaa ovat kitara ja piano:
class Instrument {} class Guitar extends Instrument {} class Piano extends Instrument {} class Main {public static void main (String [] args) {Instrument i = new Instrument () Guitar g = new Guitar () Piano p = new Piano () ) System.out.println (g-instrumentin instanssi) System.out.println (p-instrumentin instanssi) System.out.println (i kitaran instanssista) System.out.println (i-pianosta) i = g System.out.println ( i kitara kitara) System.out.println (i esim. pianolle) i = p System.out.println (i kitaralle) System.out.println (i pianolle)}}
Tuotos on seuraava:
totta
totta
väärä
väärä
totta
väärä
väärä
totta
Näin kohteen tyyppi löydetään tehokkaasti. Operaattori instanceOf osoittautuu varsin hyödylliseksi, koska menetelmät suoritetaan asianmukaisesti.
Siksi olemme päässeet tämän artikkelin, joka käsittelee ”Java-instanssia”. Jos haluat oppia lisää, tutustu luotettavan verkkokoulutusyrityksen Edurekan Java-koulutukseen. on suunniteltu kouluttamaan sekä ydin- että edistyneitä Java-käsitteitä sekä erilaisia Java-kehyksiä, kuten Hibernate & Spring.
Onko sinulla kysymys meille? Mainitse se tämän blogin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.