instanceof

  来源:  编辑:齐国真

`instanceof` 是 Java 语言中的一个关键字,用于测试对象是否为特定类的实例或该类的子类的实例。

语法:

```java

object instanceof ClassName

```

这里 `object` 是要检查的对象,`ClassName` 是类名。如果 `object` 是 `ClassName` 的实例或者是其子类的一个实例,那么表达式的结果为 `true`;否则为 `false`。

举个例子:

假设我们有以下类结构:

```java

class Animal {}

class Dog extends Animal {}

```

如果我们有一个 `Dog` 对象的引用和一个 `Animal` 类型的引用,我们可以使用 `instanceof` 来检查对象类型:

```java

Dog myDog = new Dog();

Animal myAnimal = myDog; // 虽然myDog是Dog的实例,但它是通过Animal类型的引用引用的。

boolean isDog = myDog instanceof Dog; // 这将返回 true,因为myDog确实是Dog的一个实例。

boolean isAnimal = myDog instanceof Animal; // 这也将返回 true,因为Dog是Animal的子类。

boolean isNotCat = myDog instanceof Cat; // 这将返回 false,因为myDog不是Cat的实例。

```

注意:在使用 `instanceof` 时,要确保引用的对象不是 `null`,否则尝试使用 `instanceof` 会抛出 `NullPointerException`。为了避免这种情况,可以先检查对象是否为 `null`,然后再使用 `instanceof`。

标签:

免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!