当前位置: 首页 > 编程笔记 >

Java instanceof及其应用

朱高超
2023-03-14
本文向大家介绍Java instanceof及其应用,包括了Java instanceof及其应用的使用技巧和注意事项,需要的朋友参考一下

instanceof运算符用于检查传递的对象的类型。以下规则说明了Java中instanceof运算符的用法。

  • 如果对照对象的类类型进行检查,则instanceof运算符将为该对象返回true。

  • 如果根据对象的类型(不在其层次结构中)进行检查,则instanceof运算符将为该对象返回false。

  • 如果对照父对象类型进行检查,instanceof运算符将为子对象返回true。

  • instanceof运算符对直到Object类的整个对象层次结构都返回true。

  • instanceof运算符将null值返回false。

  • 如果对照子对象类型检查,instanceof运算符将为父对象返回false。

以下示例展示了上述概念。

示例

class SuperClass {
   int value = 10;
}

class SubClass extends SuperClass {
   int value = 12;
}

public class Tester{
   public static void main(String[] args){
      SuperClass obj = new SubClass();

      //instanceof returns true for the complete Object Hierarchy
      if(obj instanceof SubClass){
         System.out.println("obj is instanceof SubClass");
      }
      if(obj instanceof SuperClass){
         System.out.println("obj is instanceof SuperClass");
      }
      if(obj instanceof Object){
         System.out.println("obj is instanceof Object");
      }

      SuperClass obj1 = null;

      //instanceof returns false for null
      if(obj1 instanceof SuperClass){
         System.out.println("null is instanceof SuperClass");
      }

      SuperClass obj2 = new SuperClass();

      //instanceof returns false for the subclass
      if(obj2 instanceof SubClass){
         System.out.println("obj2 is instanceof SubClass");
      }
      if(obj2 instanceof SuperClass){
         System.out.println("obj2 is instanceof SuperClass");
      }
   }
}

输出结果

obj is instanceof SubClass
obj is instanceof SuperClass
obj is instanceof Object
obj2 is instanceof SuperClass
 类似资料:
  • 本文向大家介绍Python中的divmod()及其应用,包括了Python中的divmod()及其应用的使用技巧和注意事项,需要的朋友参考一下 是python标准库的一部分,该库以两个数字作为参数,并将其除法的商和余数作为元组给出。它在许多数学应用中很有用,例如检查数字的可除性并确定数字是否为质数。 语法 例子 在下面的示例中,查看整数和浮点数的情况。在它们的应用上,我们得到一个结果元组,该元组也

  • 10.8 程序段前缀及其应用 程序段前缀PSP(Program Segment Prefix)是一个具有256个字节的信息区,是可执行文件(EXE和COM)所特有的,其内容在操作系统装入该文件运行时存入。 10.8.1程序段前缀的字段含义 PSP信息区的字段分布如下表10.1所列。 表10.1 PSP信息区的字段分布表 偏移量 内容含义 偏移量 内容含义 00~01H 程序结束指令中断20H 2E

  • 牛顿迭代法(简写)就是一种近似求解实数域与复数域求解方程的数学方法。那么这个方法是具体是什么原理呢?本篇文章将会介绍如何用牛顿迭代法(Newton's method for finding roots)求方程的近似解,该方法于17世纪由牛顿提出。 具体的任务是,对于在[a,b]上连续且单调的函数f(x),求方程f(x)=0的近似解。 牛顿迭代如何迭代? 直接看数学公式描述如何迭代不直观,先来看动图

  • 本文向大家介绍Angular8基础应用之表单及其验证,包括了Angular8基础应用之表单及其验证的使用技巧和注意事项,需要的朋友参考一下 一、前提 必要性:特别必要 意义:很有意义 二、正文 (一)、新建表单(模板表单) 1、新建名称为formValidator的ng项目——命令行输入ng new formValidator; 2、修改pakage.json文件——添加参数,方便开发,命令行输入

  • 图片来源于官网 1. Python 是一种易学易用、功能强大的高级程序设计语言 1.1 Python 是什么 Python 是一种高级程序设计语言,用接近人类语言的方式描述计算的过程。例如,计算" 1 加 2"的结果并将结果打印输出,使用 Python 完成这项功能,编写的 Python 程序内容如下: print(1 + 2) 这个 Python 程序首先计算 1 + 2,然后使用 print

  • 主要内容:1 Array和ArrayList的区别以及使用条件,2 List去重,2.1 借助辅助集合,2.2 利用迭代器,2.3 利用java8的lambda,3 List排序,4 反射获取ArrayList的容量,5 迭代器和for循环速度测试介绍了ArrayList集合去重的三种方式,以及排序的两种方式,以及反射获取ArrayList的容量,以及Array和ArrayList的区别。 1 Array和ArrayList的区别以及使用条件 Array 和 ArrayList都是存放数据的容器