Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Operador instanceof em Java: Guia Completo

Operador instanceof em Java: Guia Completo

Explore como o operador instanceof do Java funciona, com exemplos claros cobrindo uso básico, herança e interfaces.

Em Java, o operador instanceof permite verificar se um objeto pertence a uma classe ou interface específica. Retorna true se o tipo em tempo de execução do objeto corresponde ao tipo especificado, caso contrário false.

nomeObjeto instanceof nomeClasse;

Abaixo está um exemplo direto demonstrando o operador com uma String e uma classe definida pelo usuário.

Exemplo: Uso Básico do instanceof

class Main { public static void main(String[] args) { String nome = "Programiz"; boolean resultado1 = nome instanceof String; System.out.println("nome é uma instância de String: " + resultado1); Main obj = new Main(); boolean resultado2 = obj instanceof Main; System.out.println("obj é uma instância de Main: " + resultado2); } }

Saída

nome é uma instância de String: true obj é uma instância de Main: true

Ambas as verificações retornam true porque nome é de fato uma String e obj é uma instância de Main.

Nota: Em Java, String é um tipo de referência, não um primitivo.

Usando instanceof com Herança

O operador é inestimável ao trabalhar com hierarquias polimórficas. Confirma que uma instância de subclasse também satisfaz seu tipo de superclasse.

// Superclasse class Animal {} // Subclasse class Cachorro extends Animal {} class Main { public static void main(String[] args) { Cachorro c1 = new Cachorro(); System.out.println(c1 instanceof Cachorro); // true System.out.println(c1 instanceof Animal); // true } }

Como mostrado, c1 é reconhecido tanto como Cachorro quanto como Animal, refletindo o modelo de herança do Java.

Usando instanceof com Interfaces

O instanceof também verifica se um objeto implementa uma interface específica.

interface Animal { } class Cachorro implements Animal { } class Main { public static void main(String[] args) { Cachorro c1 = new Cachorro(); System.out.println(c1 instanceof Animal); // true } }

Aqui, c1 é um Cachorro que implementa Animal, então o operador retorna true.

Nota: Toda classe Java estende java.lang.Object. Portanto, qualquer objeto também é uma instância de Object. Por exemplo:

c1 instanceof Object

Isto sempre avaliará como true.

Java

  1. Entendendo a Palavra-chave final em Java: Variáveis, Métodos e Classes
  2. Dominando Herança em Java: Conceitos, Tipos e Exemplos Práticos
  3. Entendendo Classes Aninhadas Estáticas em Java: Uso, Diferenças e Exemplos
  4. Dominando Classes Internas Anônimas em Java: Definição, Sintaxe e Exemplos Práticos
  5. Padrão Singleton em Java Explicado: Como Implementar e Usar com Segurança
  6. Dominando Reflection em Java: Inspecionando Classes, Métodos e Campos em Tempo de Execução
  7. Dominando Java ObjectOutputStream: Serialização, Métodos e Exemplos Práticos
  8. Dominando Java Generics – Construindo Código Reutilizável e Type-Safe
  9. Dominando Operações de Arquivo em Java com java.io – Criação, Leitura, Escrita e Exclusão
  10. Java 9: Simplifique Classes Anônimas Internas com o Operador Diamond