Neste exemplo, aprenderemos a determinar a classe de um objeto em Java usando o método getClass (), o operador instanceof e o método isInstance ().
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Java:
- Classe e objetos Java
- Java instanceof Operator
Exemplo 1: verifique a classe de um objeto usando 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()); ) )
Resultado
A classe de obj1 é: class Test1 A classe de obj2 é: class Test2
No exemplo acima, usamos o getClass()
método da Object
classe para obter o nome da classe dos objetos obj1 e obj2.
Para saber mais, visite Java Object getClass ().
Exemplo 2: verificar a classe de um objeto usando o operador 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"); ) ) )
Resultado
obj é um objeto da classe Test
No exemplo acima, usamos o instanceof
operador para verificar se o objeto obj é uma instância da classe Test.
Exemplo 3: verifique a classe de um objeto usando 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"); ) ) )
Resultado
obj é um objeto da classe Test
Aqui, usamos o isInstance()
método da classe Class
para verificar se o objeto obj é um objeto da classe Test.
O isInstance()
método funciona de maneira semelhante ao instanceof
operador. No entanto, é preferível durante o tempo de execução.