U ovom ćemo primjeru naučiti odrediti klasu objekta u Javi pomoću metode getClass (), instanceof i metode isInstance ().
Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja Java:
- Java klasa i objekti
- Java instanca operatora
Primjer 1: Provjerite klasu objekta pomoću 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()); ) )
Izlaz
Klasa obj1 je: klasa Test1 Klasa obj2 je: klasa Test2
U gornjem primjeru koristili smo getClass()
metodu Object
klase da bismo dobili ime klase objekata obj1 i obj2.
Da biste saznali više, posjetite Java Object getClass ().
Primjer 2: Provjerite klasu objekta pomoću operatora instanceOf
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"); ) ) )
Izlaz
obj je objekt klase Test
U gornjem primjeru koristili smo instanceof
operator da provjerimo je li objekt obj instanca klase Test.
Primjer 3: Provjerite klasu objekta pomoću 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"); ) ) )
Izlaz
obj je objekt klase Test
Ovdje smo koristili isInstance()
metodu klase Class
da provjerimo je li objekt obj objekt klase Test.
isInstance()
Metoda radi slično kao instanceof
operatora. Međutim, preferira se tijekom vremena izvođenja.