Java programma objekta klases noteikšanai

Š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, Objectlai 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 instanceofoperatoru, 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, Classlai pārbaudītu, vai objekts obj ir klases Test objekts.

isInstance()Metode darbojas līdzīgi kā instanceofoperatoram. Tomēr tas ir vēlams darbības laikā.

Interesanti raksti...