Java instanceof 运算符
Java instanceof 运算符
在本教程中,您将通过示例详细了解 Java instanceof 运算符。
instanceof
Java中的运算符用于检查对象是否是特定类的实例。
它的语法是
objectName instanceOf className;
在这里,如果 objectName 是 className 的一个实例 , 运算符返回 true
.否则,它返回 false
.
示例:Java instanceof
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);
}
}
输出
name is an instance of String: true obj is an instance of Main: true
在上面的例子中,我们创建了一个变量 name String
类型和对象 obj 主要 类。
在这里,我们使用了 instanceof
运算符检查 name 是否 和 obj 是 String
的实例 和 主要 分别上课。并且,运算符返回 true
在这两种情况下。
注意 :在 Java 中,String
是一个类而不是原始数据类型。要了解更多信息,请访问 Java 字符串。
继承期间的Java instanceof
我们可以使用 instanceof
运算符来检查子类的对象是否也是超类的实例。例如,
// 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
}
}
在上面的例子中,我们创建了一个子类 Dog 继承自超类 Animal .我们创建了一个对象 d1 狗 类。
在 print 语句中,注意表达式,
d1 instanceof Animal
在这里,我们使用 instanceof
运算符检查是否 d1 也是超类 Animal 的一个实例 .
接口中的Java instanceof
instanceof
运算符还用于检查类的对象是否也是该类实现的接口的实例。例如,
// 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
}
}
在上面的例子中,Dog 类实现了 Animal 界面。在 print 语句中,注意表达式,
d1 instanceof Animal
这里,d1 是 Dog 的一个实例 班级。 instanceof
运算符检查是否 d1 也是接口Animal的一个实例 .
注意 :在Java中,所有的类都继承自Object
班级。因此,所有类的实例也是 Object
的实例 类。
在前面的例子中,如果我们检查,
d1 instanceof Object
结果将是 true
.
java