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 Object
classe 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' instanceof
operatore 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 Class
per verificare se l'oggetto obj è un oggetto della classe Test.
Il isInstance()
metodo funziona in modo simile instanceof
all'operatore. Tuttavia, è preferibile durante il tempo di esecuzione.