Operator instancji Java

Operator instancji Java
Instanceof Operator sprawdza, czy jego operand po lewej stronie jest przedmiotem operandu po prawej stronie. Jeśli tak, zwraca prawdę, w przeciwnym razie zwraca false lub wydaje komunikat o błędzie w czasie kompilacji. Operand po lewej. Operand po prawej stronie jest typem, e.G. Klasa. Składnia użytkowania to:

instancja nazwy obiektów. TypeName

Istnieje przestrzeń i brak kropki między nazwą obiektową a instancją. W drugim operandu nie ma nawiasów; Istnieje przestrzeń i nie ma kropki między instanceof a typename. Instanceof jest operatorem relacyjnym w Javie. W Javie operatorzy relacyjne są, = i instancje . == i != nie są operatorami relacyjnymi w Javie; Są operatorami równości. InstanceOf Operator może być używany w warunkach IF, a także w innych operatorach relacyjnych.

Istnieją dwa rodzaje rodzajów w Javie: prymitywne typy i typy referencyjne. Prymitywne typy nie są używane z operatorem Instanceof. Istnieją cztery rodzaje typów referencyjnych, które są typami klas, typy interfejsów, zmienne typu i typy tablic. Operator instancji współpracuje z tymi czterem rodzajami typów referencyjnych. Prymitywne typy są wyjątkami do użycia z operatorem instancji. W tym artykule ilustruje użycie instancji operatora.

Treść artykułu

  • Prymitywne i prymitywne zajęcia opakowania
  • Predefiniowane typy
  • Odniesienie do klasy
  • Typy streszczenia i interfejsów
  • Zmienna typu
  • Wniosek

Prymitywne i prymitywne zajęcia opakowania

Int to prymitywny typ. Liczba całkowita jest klasą opakowania typu Intimitive. Wyjście następującego programu jest prawdziwe:

Klasa publiczna THEClass
public static void main (string [] args)
Liczba całkowita obj = 5;
boolean bl = obj instanceOfInteger;
System.na zewnątrz.println (BL);

Liczba całkowita, zaczynając od wielki. Oświadczenie, które korzysta z instancji operatora tutaj, jest drugim stwierdzeniem metody main (). Musi istnieć przestrzeń między OBJ a instanceof i między instancją a typem.

W poniższym programie, w którym INT jest używany zamiast całkowitej, wydano błąd kompilatora:

Klasa publiczna THEClass
public static void main (string [] args)
int obj = 5;
boolean bl = obj instanceOfint;
System.na zewnątrz.println (BL);

Pierwsze stwierdzenie metody main () powinno zacząć od liczby całkowitej zamiast int. Drugim operandem instanceof, powinien być również liczbą całkowitą.

Inne prymitywne typy i odpowiednie zajęcia opakowania są powiązane w ten sam sposób.

Predefiniowane typy

Typ ciągu jest przykładem predefiniowanego typu. Wyjście następującego programu jest prawdziwe:

Klasa publiczna THEClass
public static void main (string [] args)
String obj = nowy ciąg („tekst”);
boolean bl = obj instanceofstring;
System.na zewnątrz.println (BL);

Zwróć uwagę, w jaki sposób pierwsze i drugie stwierdzenia metody main ().

Odniesienie do klasy

Poniższy program ma referencję klasową, Aclass. Działa to z instancją operatora. Wyjście programu jest prawdziwe:

klasa Aclass
Klasa publiczna THEClass
public static void main (string [] args)
Aclass obj = new aclass ();
boolean bl = obj instanceofaclass;
System.na zewnątrz.println (BL);

Zwróć uwagę, w jaki sposób pierwsze i drugie stwierdzenia metody main ().

Typy tablic

Obiekt tablicy jest pośrednio utworzony z typu tablicy. Poniższe wyniki programu True:

Klasa publiczna THEClass
public static void main (string [] args)
char [] obj = new char [] 'a', 'b', 'c';
boolean bl = obj instanceofchar [];
System.na zewnątrz.println (BL);

Zwróć uwagę, w jaki sposób pierwsze i drugie stwierdzenia metody main (). Typ tablicy jest wskazany w nawiasach kwadratowych, obok typu (prymitywnego).

Typy streszczenia i interfejsów

Metoda abstrakcyjna jest zazwyczaj sygnaturą metody, zaczynając od zarezerwowanego słowa, abstrakcyjnego i kończącego się półkolisem.

Różnica między klasami abstrakcyjnymi i interfejsami

Klasa abstrakcyjna jest poprzedzona zarezerwowanymi słowami, abstrakcją i klasą. W interfejsie nie są poprzedzone tymi dwoma słowami; Poprzedza to tylko interfejs. Abstrakcyjna metoda w klasie abstrakcyjnej musi być poprzedzona zarezerwowanym słowem, Streszczenie. Metoda abstrakcyjna w klasie interfejsu nie powinna być poprzedzona zarezerwowanym słowem, Streszczenie. Klasa rozszerza klasę abstrakcyjną, podczas gdy klasa implementuje interfejs.

Typ podklasowy i abstrakcyjny

W poniższym programie Sub jest podklasą (odziedziczoną) klasy abstrakcyjnej Abst. Wyjście potwierdza, że ​​obiekt, OBJ sub, jest instancją sub, a także jest instancją Abst.

Klasa abstrakcyjna Abst
Streszczenie void Abstmthd ();

Klasa Sub rozszerza ABST
void abstmthd ()
System.na zewnątrz.println ();


Klasa publiczna THEClass
public static void main (string [] args)
Sub obj = new Sub ();
boolean bl = obj instanceofsub;
booleanbla = obj instanceOfabst;
System.na zewnątrz.println (BL);
System.na zewnątrz.println (bla);

Wyjście to:

PRAWDA
PRAWDA

Implementacja i typ interfejsu

W poniższym programie Imp jest implementacją interfejsu, interfejsu. Dane wyjściowe potwierdza, że ​​obiekt, OBJ Imp, jest instancją Imp, a także jest instancją między.

interfejs inter
void Abstmthd ();

Class Impluje Inter
public void abstmthd ()
System.na zewnątrz.println ();


Klasa publiczna THEClass
public static void main (string [] args)
Imp Obj = new Imp ();
boolean bl = obj instanceOfimpl;
booleanbli = obj instanceOfinter;
System.na zewnątrz.println (BL);
System.na zewnątrz.println (bli);

Wyjście to:

PRAWDA
PRAWDA

Zmienna typu

Zmienna typu jest rozpieszczana w nawiasach kątowych. Rozważ następujący program:

Importuj Java.Util.*;
Klasa publiczna THEClass
public static void main (string [] args)
Wektor obj = new vector ();
boolean Bl = obj instanceOfvector;
System.na zewnątrz.println (BL);

Wyjście to: prawda. Zwróć uwagę na sposób wykonania kodowania wektora.

Wniosek

Instanceof Operator sprawdza, czy jego operand po lewej stronie jest przedmiotem operandu po prawej stronie. Jeśli tak, zwraca prawda, w przeciwnym razie zwraca false lub podaje komunikat o błędzie w czasie kompilacji. Operand po lewej. Operand po prawej stronie jest typem, e.G. Klasa. Instanceof jest jednym z relacyjnych operatorów w Javie. InstanceOf Operator może być używany w warunkach IF.