`

JAVA的instanceOf

阅读更多

JAVA的instanceOf

当你拿到一个对象的引用时(例如参数),你可能需要判断这个引用真正指向的类。所以你需要从该类继承树的最底层开始,使用instanceof操作符判断,第一个结果为true的类即为引用真正指向的类。

例如下面的例子:

class Person{}
class Student extends Person{}
class Postgraduate extends Student{}
class Animal{}
public class InstanceofTester {
public static void main(String[] args) {
  instanceofTest(new Student());
}
public static void instanceofTest(Person p){
  // 判断p的真正类型
  if (p instanceof Postgraduate){
   System.out.println("p是类Postgraduate的实例");
  } else if(p instanceof Student){
   System.out.println("p是类Student的实例");
  } else if(p instanceof Person){
   System.out.println("p是类Person的实例");
  } else if(p instanceof Object) {
   System.out.println("p是类Object的实例");
  }
  /*if(p instanceof Animal){//此错编译错误,所以做注释
   System.out.println("p是类Animal的实例");
  }*/
}
}

这个程序的输出结果是:p是类Student的实例

Person类所在的继承树是:Object<--Person<--Student<--Postgraduate。

这个例子中还加入一个Animal类,它不是在Person类的继承树中,所以不能作为instanceof的右操作数。

分享到:
评论

相关推荐

    Java SE编程入门教程 java instanceof(共3页).pptx

    Java SE编程入门教程 java instanceof(共3页).pptx Java SE编程入门教程 java IO(共28页).pptx Java SE编程入门教程 java Math(共11页).pptx Java SE编程入门教程 java object(共9页).pptx Java SE编程入门...

    java instanceof运算符.txt

    java instanceof运算符

    hllvm.Java instanceof 关键字是如何实现的?1

    《深入理解Java `instanceof` 关键字的实现机制》 `instanceof` 是Java语言中一个非常重要的关键字,它用于判断对象是否属于某个类或其子类(或实现了某个接口)。在Java的世界里,`instanceof` 关键字扮演着类型...

    Java instanceof和getClass()区别实例解析

    Java instanceof 和 getClass() 区别实例解析 Java instanceof 和 getClass() 是 Java 语言中两个常用的操作符,用于判断对象的类型或类别。然而,很多开发者对这两个操作符的使用和区别不够了解。在本文中,我们将...

    java instanceof操作符使用及原理解析

    在Java编程语言中,`instanceof`操作符是一个至关重要的工具,它允许程序员在运行时检查对象的类型。`instanceof`主要用于确定一个对象是否属于某个特定类、接口或者其子类(或实现)。理解`instanceof`的使用和原理...

    Java instanceof 运算符的使用方法

    Java instanceof 运算符的使用方法 Java instanceof 运算符是 Java 语言中的一种二元运算符,它用于判断前面的对象是否是后面的类、接口、抽象类或其子类、实现类的实例。如果是,则返回 true,否则返回 false。 ...

    instanceof关键字---马克-to-win java视频

    instanceof 马克-to-win java视频的详细的描述介绍

    Java instanceof关键字的的进一步理解

    Java的`instanceof`关键字是Java语言中用于判断对象类型的工具,它可以帮助程序员确定一个对象是否属于特定的类或者其子类(或接口)的实例。`instanceof`操作符的语法是`object instanceof ClassName`,其中`object...

    java基础——方法的重写、多态+instanceof(csdn)————程序.pdf

    在Java编程语言中,方法的重写和多态是面向对象设计的重要概念,它们使得代码更加灵活和可扩展。下面将详细阐述这两个概念及其应用场景。 首先,方法的重写(Override)是指在一个子类中定义与父类相同名称和参数...

    Java instanceof用法详解及实例代码

    Java中的`instanceof`运算符是用来在程序运行时判断一个对象是否属于某个特定类或其子类(或者实现了某个接口)的关键字。它允许我们动态地检查对象的类型,这对于多态性和类型安全的编程非常有用。以下是`...

    Android中Java instanceof关键字全面解析

    在Android开发中,Java语言是主要的编程工具,而在Java中,`instanceof`关键字扮演着重要的角色。本文将深入探讨`instanceof`的关键字用法及其在Android开发中的应用场景。 `instanceof`是一个二元操作符,它用于...

    java中instanceof与Class的等价性代码示例

    Java 中 instanceof 与 Class 的等价性代码示例 Java 中的 `instanceof` 运算符是一个二元操作符,用于检查对象是否属于某个特定类或其子类。它返回一个布尔值,指示对象是否是该类或其子类的一个实例。在 Java 中...

    Java SE编程入门教程 java序列化(共14页).pptx

    Java SE编程入门教程 java instanceof(共3页).pptx Java SE编程入门教程 java IO(共28页).pptx Java SE编程入门教程 java Math(共11页).pptx Java SE编程入门教程 java object(共9页).pptx Java SE编程入门...

    java 中的instanceof用法详解及instanceof是什么意思(推荐)

    `instanceof`是Java语言中的一个关键字,用于检查对象的类型。它可以帮助程序员确定对象是否属于特定类或者其子类(或实现的接口)的实例。`instanceof`操作符的语法结构是: ```java object instanceof ClassName ...

    JAVA考试试题

    Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和丰富的类库而备受开发者喜爱。在准备"JAVA考试试题"时,考生需要对Java语言的各个方面有深入的理解。以下是一些可能涵盖的重要知识点: 1. **基础...

    java中instanceof和getClass()的区别分析

    在Java编程语言中,`instanceof` 和 `getClass()` 是两个重要的操作符和方法,它们在类型检查和对象实例识别方面发挥着关键作用。本文将深入探讨这两个概念的区别及其应用场景。 `instanceof` 关键字主要用于判断一...

    Java SE编程入门教程 properties(共3页).pptx

    java instanceof(共3页) java IO(共28页) java Math(共11页) java object(共9页) java static final(共24页) java this和super(共10页) java 常用API(共22页) javaGUI编程快速入门(1)(共82页) java...

    用于存放java源码和Thinking of Java的资源.rar

    下面介绍 Java instanceof 关键字的几种用法。 1)声明一个 class 类的对象,判断 obj 是否为 class 类的实例对象(很普遍的一种用法),如以下代码: Integer integer = new Integer(1); System.out.println...

Global site tag (gtag.js) - Google Analytics