📜  java instanceof 示例 - Java (1)

📅  最后修改于: 2023-12-03 15:31:30.650000             🧑  作者: Mango

Java instanceof 示例

在Java中,instanceof是一个关键字,用于检查一个对象是否是某个类的实例。下面是一些instanceof的示例。

示例1: 检查对象类型
public class Example1 {
    public static void main(String[] args) {
        String str = "Hello World";
        Integer num = 10;

        if (str instanceof String) {
            System.out.println("str is a String object");
        }

        if (num instanceof Integer) {
            System.out.println("num is an Integer object");
        }
    }
}

Output:

str is a String object
num is an Integer object

在上面的示例中,我们创建了一个String对象和一个Integer对象,并使用instanceof检查它们的类型是否正确。如果是,则输出相应的消息。

示例2: 检查子类的类型
class Animal {}

class Dog extends Animal {}

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

        if (animal instanceof Animal) {
            System.out.println("animal is an Animal object");
        }

        if (animal instanceof Dog) {
            System.out.println("animal is a Dog object");
        }
    }
}

Output:

animal is an Animal object
animal is a Dog object

在上面的示例中,我们创建了Animal类和Dog类。然后我们创建了一个Dog对象并将其赋值给一个Animal变量。我们使用instanceof检查这个对象是否是Animal类型和Dog类型。由于DogAnimal的一个子类,所以它是Animal类型的一个实例。

示例3: 检查多个类型
class Animal {}

class Dog extends Animal {}

class Cat extends Animal {}

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

        if (animal instanceof Animal && !(animal instanceof Cat)) {
            System.out.println("animal is an Animal object and not a Cat object");
        }

        if (animal instanceof Dog || animal instanceof Cat) {
            System.out.println("animal is either a Dog or a Cat object");
        }
    }
}

Output:

animal is an Animal object and not a Cat object
animal is either a Dog or a Cat object

在上面的示例中,我们创建了Animal类、Dog类和Cat类。然后我们创建了一个Dog对象并将其赋值给一个Animal变量。我们使用instanceof检查这个对象是否是Animal类型而且不是Cat类型。我们还使用instanceof检查这个对象是否是Dog类型或Cat类型。