Šajā piemērā mēs iemācīsimies noteikt Java objekta klasi, izmantojot metodi getClass (), operatoru instanceof un metodi isInstance ().
Lai saprastu šo piemēru, jums jāpārzina šādas Java programmēšanas tēmas:
- Java klase un objekti
- Operatora Java instance
1. piemērs: pārbaudiet objekta klasi, izmantojot 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()); ) )
Rezultāts
Obj1 klase ir: klase Test1 Klase obj2 ir: klase Test2
Iepriekš minētajā piemērā mēs izmantojām klases getClass()
metodi, Object
lai iegūtu objektu klases nosaukumu obj1 un obj2.
Lai uzzinātu vairāk, apmeklējiet Java Object getClass ().
2. piemērs: Pārbaudiet objekta klasi, izmantojot operatoru 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"); ) ) )
Rezultāts
obj ir testa klases objekts
Iepriekš minētajā piemērā mēs izmantojām instanceof
operatoru, lai pārbaudītu, vai objekts obj ir klases Test gadījums.
3. piemērs: Pārbaudiet objekta klasi, izmantojot 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"); ) ) )
Rezultāts
obj ir testa klases objekts
Šeit mēs izmantojām isInstance()
klases metodi, Class
lai pārbaudītu, vai objekts obj ir klases Test objekts.
isInstance()
Metode darbojas līdzīgi kā instanceof
operatoram. Tomēr tas ir vēlams darbības laikā.