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

Java instanceof 运算符完全指南:用法、继承与接口检查

Java instanceof 运算符完全指南

探索 Java instanceof 运算符的工作原理,涵盖基础用法、继承场景与接口检查的清晰示例。

在 Java 中,instanceof 运算符用于验证对象是否属于特定类或接口。若对象的运行时类型匹配指定类型,返回 true,否则 false。

objectName instanceof className;

下面演示基本用法,包含 String 和用户自定义类。

示例:基本 instanceof 用法

class Main { public static void main(String[] args) { String name = "Programiz"; boolean result1 = name instanceof String; System.out.println("name is an instance of String: " + result1); Main obj = new 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

两次检查均返回 true,因为 name 确实是 String,obj 是 Main 实例。

注意:在 Java 中,String 是引用类型,非基本类型。

结合继承使用 instanceof

处理多态层级时,该运算符极其有用。它确认子类实例同时满足父类类型。

// 父类 class Animal {} // 子类 class Dog extends Animal {} class Main { public static void main(String[] args) { Dog d1 = new Dog(); System.out.println(d1 instanceof Dog); // true System.out.println(d1 instanceof Animal); // true } }

如所示,d1 同时被识别为 Dog 和 Animal,体现 Java 继承模型。

结合接口使用 instanceof

instanceof 也可检查对象是否实现特定接口。

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

此处 d1 是实现 Animal 的 Dog,运算符返回 true。

注意:所有 Java 类最终都继承自 java.lang.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 Stack 类全面指南:用法、核心方法与实战示例
  9. 掌握 Java ObjectOutputStream:序列化、核心方法与实战示例
  10. 掌握 Java 泛型:构建可复用、类型安全的代码
  11. 掌握 Java 文件操作:java.io 包下的创建、读取、写入与删除
  12. Java 9 菱形操作符扩展:匿名内部类也能用 <> 推断