Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

instanceof在java中的用法

作者:倾尽尘光暖流年   发布日期:2026-03-02   浏览:98

// 示例代码:instanceof在Java中的用法

public class InstanceOfExample {

    static class Animal {}

    static class Dog extends Animal {}

    static class Cat extends Animal {}

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

        // 使用 instanceof 检查对象是否是指定类型或其子类的实例
        if (myDog instanceof Dog) {
            System.out.println("myDog 是 Dog 类型的实例");
        } else {
            System.out.println("myDog 不是 Dog 类型的实例");
        }

        if (myCat instanceof Dog) {
            System.out.println("myCat 是 Dog 类型的实例");
        } else {
            System.out.println("myCat 不是 Dog 类型的实例");
        }

        // 从 Java 16 开始,instanceof 可以结合模式匹配使用,简化代码
        if (myDog instanceof Dog dog) {
            System.out.println("myDog 是 Dog 类型的实例,并且可以直接使用变量 dog");
            dog.makeSound(); // 假设 Dog 类有一个 makeSound 方法
        }
    }
}

class Dog extends InstanceOfExample.Animal {
    public void makeSound() {
        System.out.println("汪汪");
    }
}

解释说明:

  • instanceof 关键字用于检查对象是否是指定类型或其子类的实例。
  • 在上面的代码中,myDogmyCat 都是 Animal 类型的引用,但实际指向的对象分别是 DogCat 的实例。
  • 使用 instanceof 可以判断 myDog 是否为 Dog 类型的实例,结果为 true;而 myCat 不是 Dog 类型的实例,结果为 false
  • 从 Java 16 开始,instanceof 支持模式匹配,可以在检查类型的同时进行类型转换并赋值给一个新的变量,简化了代码。

上一篇:java数组转成list

下一篇:java数组

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java list 查找

java 解压rar

java读取excel中的图片

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站