Programma Java per determinare la classe di un oggetto

In questo esempio, impareremo a determinare la classe di un oggetto in Java utilizzando il metodo getClass (), l'operatore instanceof e il metodo isInstance ().

Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione Java:

  • Classe e oggetti Java
  • Istanza Java dell'operatore

Esempio 1: controlla la classe di un oggetto utilizzando 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()); ) )

Produzione

 La classe di obj1 è: class Test1 La classe di obj2 è: class Test2

Nell'esempio precedente, abbiamo utilizzato il getClass()metodo della Objectclasse per ottenere il nome della classe degli oggetti obj1 e obj2.

Per saperne di più, visita Java Object getClass ().

Esempio 2: controlla la classe di un oggetto utilizzando l'operatore 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"); ) ) )

Produzione

 obj è un oggetto della classe Test

Nell'esempio precedente, abbiamo utilizzato l' instanceofoperatore per verificare se l'oggetto obj è un'istanza della classe Test.

Esempio 3: controlla la classe di un oggetto utilizzando 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"); ) ) )

Produzione

 obj è un oggetto della classe Test

Qui abbiamo utilizzato il isInstance()metodo della classe Classper verificare se l'oggetto obj è un oggetto della classe Test.

Il isInstance()metodo funziona in modo simile instanceofall'operatore. Tuttavia, è preferibile durante il tempo di esecuzione.

Articoli interessanti...