//instanceof是判断左侧对象是不是右侧类的实例

package myPackage;    

/**  
* instanceof运算符用法  
* 运算符是双目运算符,左面的操作元是一个对象,右面是一个类.当  
* 左面的对象是右面的类创建的对象时,该运算符运算的结果是true,否则是false  
*   
* 说明:(1)一个类的实例包括本身的实例,以及所有直接或间接子类的实例  
* (2)instanceof左边操作元显式声明的类型与右边操作元必须是同种类或右边是左边父类的继承关系,  
* (3)不同的继承关系下,编译出错  
*/    
class Person {    
}    
class Student extends Person {    
}    
class Postgraduate extends Student {    
}    
class Animal {    
}    
public class Ex_instanceOf {    
public static void main(String[] args) {    
   instanceofTest(new Student());    
}    
/**  
* 这个程序的输出结果是:p是类Student的实例  
*   
* Person类所在的继承树是:Object<--Person<--Student<--Postgraduate。  
*   
* 这个例子中还加入一个Animal类,它不是在Person类的继承树中,所以不能作为instanceof的右操作数。  
*   
* @param p  
*/    
public static void instanceofTest(Person p) {    
   // p 和 Animal类型不一样,彼此之间没有继承关系,编译会出错    
   // 提示错误:Incompatible conditional operand types Person and Animal    
   // if(p instanceof Animal){    
   // System.out.println("p是类Animal的实例");    
   // }    
   //下面代码的除了第一行都会输出    
   if (p instanceof Postgraduate) System.out.println("p是类Postgraduate的实例");    
   if (p instanceof Person) System.out.println("p是类Person的实例");    
   if (p instanceof Student) System.out.println("p是类Student的实例");    
   if (p instanceof Object) System.out.println("p是类Object的实例");    
    
}    
}

关于instanceof判断的条件的更多相关文章

  1. Linux入门第五天——shell脚本入门(中)基础语法之判断与条件

    一.判断式 利用 test 命令进行执行结果的判断(例如判断是否存在该文件):关于test  test:test 示例:结合回传值 $? 进行判断:关于$?:$? [root@localhost tm ...

  2. instanceof判断问题

    有时候我们根据instanceof来判断对象的数据类型 但是 用instanceof判断基本数据类型时 会不靠谱 例如 let str = '123' let str1 = new String(&q ...

  3. instanceof判断参数是否是给定的类型

    if(ofj instanceof CLOB) {//判断ofj是否是CLOB类型,如果是则把CLOB内容解析出来,放入TZNR字段中并返回 CLOB ft = (CLOB)ofj; String c ...

  4. 113-PHP使用instanceof判断变量是否为某个类对象

    <?php class ren{ //定义人类 } class mao{ //定义猫类 } $ren=new ren(); //实例化一个人类的对象 $mao=new mao(); //实例化一 ...

  5. js--typeof 和 instanceof 判断数据类型的区别及开发中的使用

    前言 日常的开发中,我们经常会遇到判断一个变量的数据类型或者该变量是否为空值的情况,你是如何去选择判断类型的操作符的?本文来总结记录一下我们开发人员必须掌握的关于 typeof 和 instanceo ...

  6. pig里面没有if:不能判断一个条件后决定一个执行步骤

    pig是处理流 的工具,所以数据集是流对象,处理步骤也是一样的. Pig中存在按条件处理流对象的方式有 1)filter X= FILTER A BY (f1 == 8); 2)CASE WHEN T ...

  7. instanceof判断的对象可以是接口

    instanceof是Java的一个二元操作符(运算符) 用法 boolean result = object instanceof class instanceof通过返回一个布尔值来指出,这个对象 ...

  8. 抽象类的继承,接口的实现,接口类型数组的使用,根据instanceof判断(返回)是否该是哪一个类型,类型的强转.

    总觉得之前第2处有点问题,果然. 还需要instanceof判定一下,然后还需要把数组Animal[]转为Pet的才有方法play()~~~!

  9. jajx 传参 需要 判断的 条件

    1.有没有权限. 2.数据类型 对不对 例如 id ,page  传过来时是str 类型, view中处理时需要转换成 int类型. 如果 不能转 就会报错.. 3.查询数据.数据不存在也要报错... ...

随机推荐

  1. SVG2PNG(前台和后台将SVG转换为PNG)--amcharts导出png

    在项目中用到了amcharts,amcharts图标统计插件是利用SVG实现的,其自带下载png功能,但是不支持IE以下浏览器.因此研究了SVG转换为png,最终实现的效果是将amcharts生成一张 ...

  2. 在imagenet预训模型上进行finetune

    所谓fine tune就是用别人训练好的模型,加上我们自己的数据,来训练新的模型.fine tune相当于使用别人的模型的前几层,来提取浅层特征,然后在最后再落入我们自己的分类中. fine tune ...

  3. linux添加定时任务crond

    1.crontab –e:编辑当前定时任务 保存完重新crond : service crond restart 2. crontab用法 crontab –e : 修改 crontab 文件,如果文 ...

  4. #ifndef详解

    #ifndef 是"if not defined"的简写,是预处理功能(宏定义.文件包含.条件编译)当中的条件编译,可以根据是否已经定义了一个变量来进行分支选择,其作用是: 1.防 ...

  5. 利用excel办公软件快速拼凑sql语句

    日常工作中经常会收到excel整理好的部门或者人员等数据信息并需要批量更新或者插入到数据库中,常用的办法有导入.脚本拼凑执行等,今天我介绍直接使用excel快速拼凑sql语句的方法 1.update批 ...

  6. 使用paramiko远程登录并执行命令脚本

    #!/usr/bin/env python #coding=utf-8 import paramiko, getpass,sys,traceback class ssh_utils(): def lo ...

  7. Maven介绍及安装与配置

    一.Maven的作用 在开发中,为了保证编译通过,我们会到处去寻找jar包,当编译通过了,运行的时候,却发现"ClassNotFoundException",我们想到的是,难道还差 ...

  8. OneNET麒麟座应用开发之六:与气体质量流量控制器通讯

    气体质量流量控制器,简称MFC,通常用于在各种检测中,计量气体的流量.在我们的大气环境数据采集站中,要让气流保持稳定,这样才能准确的获取PM25的数据. 我们采用的气体质量流量控制器具备串口通讯功能, ...

  9. 对象奔驰E2000

    <script> window.onload = function (ev) { // 调用对象前先创建 // 2 var vcar=new Car("奔驰",&quo ...

  10. JavaScript实现抽象类与虚方法(六)

    一:什么是js抽象类与虚方法 虚函数是类成员中的概念,是只做了一个声明而未实现的方法,具有虚函数的类就称之为抽象类,这些虚函数在派生类中才被实现.抽象类是不能实例化的,因为其中的虚函数并不是一个完整的 ...