面试题:简述 instanceof 关键字的作用

instanceof 是 Java 中的一个关键字,用于检查一个对象是否是指定类或其子类的实例,或者是否实现了某个接口。它返回一个布尔值:如果对象是指定类型或其子类型的实例,则返回 true,否则返回 false

语法

object instanceof Class/Interface

作用

  1. 类型检查:用于判断对象是否为某个类或其子类的实例。
  2. 接口检查:用于判断对象是否实现了某个接口。
  3. 避免类型转换异常:在进行类型转换前,通常会用 instanceof 进行检查,以防止 ClassCastException

示例

class Animal {}
class Dog extends Animal {}

public class Main {
    public static void main(String[] args) {
        Animal myDog = new Dog();

        // 检查 myDog 是否是 Dog 类的实例
        if (myDog instanceof Dog) {
            System.out.println("myDog 是 Dog 类的实例");
        }

        // 检查 myDog 是否是 Animal 类的实例
        if (myDog instanceof Animal) {
            System.out.println("myDog 是 Animal 类的实例");
        }

        // 检查 myDog 是否是 Object 类的实例
        if (myDog instanceof Object) {
            System.out.println("myDog 是 Object 类的实例");
        }
    }
}

输出

myDog 是 Dog 类的实例
myDog 是 Animal 类的实例
myDog 是 Object 类的实例

注意事项

  • instanceof 不能用于基本数据类型。
  • 如果对象为 nullinstanceof 会返回 false,因为 null 不是任何类型的实例。

总结

instanceof 是 Java 中用于类型检查的重要工具,常用于确保类型转换的安全性。

THE END
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容