Java instanceof Operator
Instância Java do Operador
Neste tutorial, você aprenderá detalhadamente sobre o operador instanceof Java com a ajuda de exemplos.
O instanceof
operador em Java é usado para verificar se um objeto é uma instância de uma determinada classe ou não.
Sua sintaxe é
objectName instanceOf className;
Aqui, se objectName é uma instância de className , o operador retorna
true
. Caso contrário, ele retorna false
. Exemplo:instância Java de
class Main {
public static void main(String[] args) {
// create a variable of string type
String name = "Programiz";
// checks if name is instance of String
boolean result1 = name instanceof String;
System.out.println("name is an instance of String: " + result1);
// create an object of Main
Main obj = new Main();
// checks if obj is an instance of Main
boolean result2 = obj instanceof Main;
System.out.println("obj is an instance of Main: " + result2);
}
}
Saída
name is an instance of String: true obj is an instance of Main: true
No exemplo acima, criamos uma variável name do
String
tipo e um objeto obj do Principal classe. Aqui, usamos o
instanceof
operador para verificar se name e obj são instâncias do String
e Principal classe respectivamente. E o operador retorna true
em ambos os casos. Observação :Em Java,
String
é uma classe em vez de um tipo de dados primitivo. Para saber mais, visite Java String. Instância Java durante a herança
Podemos usar o
instanceof
operador para verificar se os objetos da subclasse também são uma instância da superclasse. Por exemplo,
// Java Program to check if an object of the subclass
// is also an instance of the superclass
// superclass
class Animal {
}
// subclass
class Dog extends Animal {
}
class Main {
public static void main(String[] args) {
// create an object of the subclass
Dog d1 = new Dog();
// checks if d1 is an instance of the subclass
System.out.println(d1 instanceof Dog); // prints true
// checks if d1 is an instance of the superclass
System.out.println(d1 instanceof Animal); // prints true
}
}
No exemplo acima, criamos uma subclasse Dog que herda da superclasse Animal . Criamos um objeto d1 do Cão classe.
Dentro da instrução print, observe a expressão,
d1 instanceof Animal
Aqui, estamos usando o
instanceof
operador para verificar se d1 é também uma instância da superclasse Animal . Instância Java na Interface
O
instanceof
O operador também é usado para verificar se um objeto de uma classe também é uma instância da interface implementada pela classe. Por exemplo,
// Java program to check if an object of a class is also
// an instance of the interface implemented by the class
interface Animal {
}
class Dog implements Animal {
}
class Main {
public static void main(String[] args) {
// create an object of the Dog class
Dog d1 = new Dog();
// checks if the object of Dog
// is also an instance of Animal
System.out.println(d1 instanceof Animal); // returns true
}
}
No exemplo acima, o Cão classe implementa o Animal interface. Dentro da instrução print, observe a expressão,
d1 instanceof Animal
Aqui, d1 é uma instância de Cão classe. O
instanceof
operador verifica se d1 também é uma instância da interface Animal . Observação :Em Java, todas as classes são herdadas do
Object
classe. Portanto, instâncias de todas as classes também são instâncias do Object
classe. No exemplo anterior, se verificarmos,
d1 instanceof Object
O resultado será
true
. Java