I dette eksemplet vil vi lære å bestemme klassen til et objekt i Java ved hjelp av getClass () -metoden, instans av operatør og metoden isInstance ().
For å forstå dette eksemplet, bør du ha kunnskap om følgende Java-programmeringsemner:
- Java-klasse og objekter
- Java-forekomst av operatør
Eksempel 1: Sjekk klassen til et objekt ved hjelp av getClass ()
class Test1 ( // first class ) class Test2 ( // second class ) class Main ( public static void main(String() args) ( // create objects Test1 obj1 = new Test1(); Test2 obj2 = new Test2(); // get the class of the object obj1 System.out.print("The class of obj1 is: "); System.out.println(obj1.getClass()); // get the class of the object obj2 System.out.print("The class of obj2 is: "); System.out.println(obj2.getClass()); ) )
Produksjon
Klassen av obj1 er: klasse Test1 Klassen av obj2 er: klasse Test2
I eksemplet ovenfor har vi brukt getClass()
metoden til Object
klassen for å få klassens navn på objektene obj1 og obj2.
For å lære mer, besøk Java Object getClass ().
Eksempel 2: Sjekk klassen til et objekt ved hjelp av instanceOf-operatør
class Test ( // class ) class Main ( public static void main(String() args) ( // create an object Test obj = new Test(); // check if obj is an object of Test if(obj instanceof Test) ( System.out.println("obj is an object of the Test class"); ) else ( System.out.println("obj is not an object of the Test class"); ) ) )
Produksjon
obj er et objekt av testklassen
I eksemplet ovenfor har vi brukt instanceof
operatøren til å sjekke om objektet obj er en forekomst av klassen Test.
Eksempel 3: Sjekk klassen til et objekt ved hjelp av isInstance ()
class Test ( // first class ) class Main ( public static void main(String() args) ( // create an object Test obj = new Test(); // check if obj is an object of Test1 if(Test.class.isInstance(obj))( System.out.println("obj is an object of the Test class"); ) else ( System.out.println("obj is not an object of the Test class"); ) ) )
Produksjon
obj er et objekt av testklassen
Her har vi brukt isInstance()
metoden i klassen for Class
å sjekke om objektet obj er et objekt for klassetesten.
Den isInstance()
metoden fungerer på samme måte som instanceof
operatøren. Det foretrekkes imidlertid i løpet av kjøretiden.