亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java instanceof 运算符

Java instanceof 运算符

在本教程中,您将通过示例详细了解 Java instanceof 运算符。

instanceof Java中的运算符用于检查对象是否是特定类的实例。

它的语法是

objectName instanceOf className;

在这里,如果 objectNameclassName 的一个实例 , 运算符返回 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 是否 和 objString 的实例 和 主要 分别上课。并且,运算符返回 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

这里,d1Dog 的一个实例 班级。 instanceof 运算符检查是否 d1 也是接口Animal的一个实例 .

注意 :在Java中,所有的类都继承自Object 班级。因此,所有类的实例也是 Object 的实例 类。

在前面的例子中,如果我们检查,

d1 instanceof Object

结果将是 true .


java

  1. Java final 关键字
  2. Java 继承
  3. Java 嵌套静态类
  4. Java 匿名类
  5. Java 单例类
  6. Java 反射
  7. Java ArrayList 类
  8. Java 堆栈类
  9. Java ObjectOutputStream 类
  10. Java 泛型
  11. Java 文件类
  12. Java 9 - 内部类菱形运算符