InstanceOf i Java - Working & regler för förekomst av i Java med exempel

Innehållsförteckning:

Anonim

Introduktion till exempelOf i Java

exempelOf är en Java-programmeringsspråkklass, som, när den kallas, returnerar booleskt värde och används för att undersöka förhållandet mellan objekt och en klass / gränssnitt. På grund av dess förmåga att jämföra dessa två, är det också känt som "typ jämförelse operatör". Enkel instans används för att kontrollera om ett objekt är av någon typ eller inte, och det returnerar ett booleskt värde som är antingen sant eller falskt. InstanceOf är en av de hjälpsamma operatörerna i java, som hjälper till att få användbar information om ett objekt, i en körmiljö.

Syntax:

Instansen klassen används för att kontrollera om objektet tillhör någon klass eller inte.

obj instanceOf object

Ovan är standardsyntaxen för exempel klass. Här är obj namnet på objektet som måste ha skapats tidigare (referens). exampleOf är nyckelordet och objektet är klassen eller gränssnittet som vi matchar obj-objektet med.

I olika fall kan exempelOf bevisas vara till stor nytta, till exempel där vi har en samling objekt och du är inte säker på vilket objekt det hänvisar till. Ett exempel på ett sådant fall kan vara en enkel form med många kontroller.

Om vi ​​använder instans av med en variabel som har ett NULL-värde är det säkert att returnera falskt.

Hur exempel av arbete?

InstansenOf-operatören i java arbetar på en enkel är en relation. Att helt enkelt säga, är en relation är ett objektorienterat begrepp, där vi jämför eller säger, arbetar med en relation mellan abstraktioner, där klass A är en underklass av klass B. Detta är ett förhållande som är helt baserat på arv. Med andra ord är det som att säga, "X är av Y-typ".

Låt oss nu förstå hur Office of fungerar tillsammans med respektive kod.

Först skapar vi en klass med namnet Förälder.

Koda:

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

Vi skapar sedan en instans av vår föräldraklass.

Parent child = new Parent();

Slutligen kommer vi att använda instansfunktionen för att kontrollera förhållandet mellan barn och förälder. Vilket går så här: barninstans av förälder

Som tidigare nämnts går syntaxen för exempelOf från ett objekt som måste kontrolleras, sedan nyckelordet instans och sedan klassen / gränssnittet som det givna objektet ska testas med.

När vi möter nyckelordet "utökar" eller "redskap" i en klassdeklaration är det ett tydligt tecken på att ett förhållande används.

Exempel på instansOf i Java

Följande exempel visar en enda rad användning av instansOf.

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

Kodtolkning: Började med att skapa en enkel klassinstans av_java. I klassen instans av_java har vi vår huvudklass och inom vår huvudklass har vi ett objekt som skapats. Det här objektet är av typen av typen Java. Sedan för att implementera fungeringen av instansOf, tillhandahöll vi ett utdatauttalande med objekt s. I den sista raden passerade vi s tillsammans med förekomsten av sökord och föräldraklassen. Vid körning kommer koden att returnera "sant", eftersom objektet är av instans av typen.

Att gå vidare, om vi har ett objekt av vår kända klass eller gränssnitt men vi inte har tilldelat något värde till samma objekt, är det bundet att returnera falskt, även om det är av samma klass.

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

Här har vi liknande kod som vi hade för tidigare exempel, men med ett nullvärdeobjekt. När den körs kommer den här koden att returneras falsk. Som vi kan se är objektet nytt instansen av exempel av_sample, men nytt tilldelas med ett nollvärde, som returneras i falskt.

Regler för exempelvis operatör

Baserat på om objektet ref är inte noll, och en instans av den refererade typen. När X är den enkla klassen för det refererade objektet och Y är den upplösta klassen eller en matris av en gränssnitttyp.

  • När X är en enkel klass, då:
  • Om Y är en klasstyp, måste X vara en underklass av Y eller X måste vara samma klass som Y.
  • Om Y är en gränssnitttyp måste X-klassen implementera gränssnitt T.
  • När X är typgränssnitt, gör sedan:
  • Om Y är en klasstyp, måste Y vara ett objekt.
  • Y kan vara samma som gränssnittet som X eller supergränssnittet för X om Y är en gränssnitttyp.
  • Om X är en klass, som representerar matrisstypen SC (), som är en matris med typ SC-komponenter, då:
  • Om Y är en klasstyp, måste Y vara ett objekt.
  • Om Y är en gränssnitttyp måste Y vara av gränssnitttyp implementerad av matriser.

Slutligen kommer vi att visa ett förekomstprogram för att förstå att föräldraobjektet inte kan vara ett exempel på barnklass.

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");
)
)

Tolkning av kod: För att förstå instansen av operatören i olika scenarier skrev vi ovanstående kod. Vi skapade ett enkelt klassämne och sedan ett annat klassämne, som utökar klassämne, vilket gör klassen ämne som barn och klassämne som förälder här. Sedan en annan klass med huvudmetoden. Inom huvudmetoden skapade vi en ny instans av föräldraklassämne. I IF ELSE-slingan kontrollerade vi tillståndet för instansobjektet med föräldraklassen Ämne. Om villkoret var uppfyllt, skulle det returnera "historia är en instans av ämne" och "historia är INTE en instans av ämne" om villkoret misslyckas.

Vid utförande av ovanstående kod kommer utgången att vara "historia är INTE en instans av ämne", vilket betyder att villkoret som lämnats i IF misslyckas. Det hände för att vi försökte kontrollera föräldern till objektet "historia" med klassämne. Vi vet att klassen Ämne utvidgar klassen Ämne, vilket innebär att Ämnet är underklass till Ämne. Och när vi försökte kontrollera typ av historia med klassämne, returnerar det falskt (INTE). Detta innebär att föräldraobjektet inte kan vara ett exempel på en klass.

Produktion:

Slutsats - exempel på i Java

Vi har lärt oss om instans av klass i Java, som helt enkelt avgör om objektet är av den angivna typen. Vi förstod hur en relation påverkar instansen av operatören. Också känd som en jämförelseoperatör, är instansOf baserad på arv.

Rekommenderade artiklar

Detta har varit en guide till InstanceOf i Java. Här diskuterar vi hur InstanceOf i Java fungerar, regler med kodtolkning. Du kan också titta på följande artiklar för att lära dig mer -

  1. Java-nyckelord
  2. Java-kommentarer
  3. Cheat Sheet JavaScript
  4. PHP-nyckelord