Java中的instanceof是用来判断某个实例是不是某个类的实例。 
例如:A instanceof B (A为某个实例,B为某个类名) 
如果A为B的实例,则:(A instanceof B)==true 反之==false 
代码举例:

package JavaKEYWORDS;

class Bird{//父类

}
class BigBird extends Bird{//Bird的子类 }
class LittleBird extends Bird implements BirdFly{//Bird的子类加上BirdFly接口 }
interface BirdFly{ }
public class JavaKWinstanceof {
public static void main(String[] args) {
// TODO Auto-generated method stub
JavaKWinstanceof myThis=new JavaKWinstanceof();
Bird myBird=new Bird();
BigBird myBigBird=new BigBird();
LittleBird myLittleBird=new LittleBird();
//打印各实例与类之间的关系
prt(myThis instanceof JavaKWinstanceof);//打印结果:YES
prt(myBird instanceof Bird);//打印结果:YES
prt(myBigBird instanceof Bird);//打印结果:YES 子类实例出的对象也是父类的实例
prt(myBird instanceof BigBird);//打印结果:NO 父类实例出的对象不是子类的实例
prt(myLittleBird instanceof Bird);//打印结果:YES 子类加上其它接口后实例出的对象也是父类的实例
/*
* prt(myLittleBird instanceof BigBird);//编译报错 两个没有继承关系的类之间没有instanceof关系
* prt(1 instanceof int);//编译错误
*/
}
//判断及显示A是否为B的实例
static void prt(boolean A_is_instanceof_B){
if(A_is_instanceof_B){
System.out.println("YES");
}
else{
System.out.println("NO");
}
} }

输出结果: 

java :instanceof用法的更多相关文章

  1. Java 习惯用法总结

    转自:http://www.importnew.com/15605.html 首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 我要投稿 更多频道 » Java 习惯用法总结 2015/04/ ...

  2. C++ 'dynamic_cast' and Java 'instanceof' 使用对比

    在Java中,如果A是基类,B是A的派生类,那么instanceof可以用来判断一个实例对象是A还是B,相当于一个二元操作符,但与==, >, < 不同的是,它是由字母组成,是Java的保 ...

  3. 【转】java list用法示例详解

    转自:http://www.jb51.net/article/45660.htm java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对java list用法做了详解. Lis ...

  4. Java List 用法代码分析 非常详细

    Java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对Java List用法做了详解. List:元素是有序的(怎么存的就怎么取出来,顺序不会乱),元素可以重复(角标1上有个3 ...

  5. Java split用法

    Java split用法 java.lang.string.split split 方法  将一个字符串分割为子字符串,然后将结果作为字符串数组返回. stringObj.split([separat ...

  6. Java Instanceof

    Java Instanceof Instanceof是一个非常简单的运算符,前一个操作通常是一个引用类型的变量,后一个操作数通常是一个类(也可以是接口,可以把接口理解成一种特殊的类),它用于判断前面的 ...

  7. Java Enum用法详解

    Java Enum用法详解 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举 ...

  8. typeof()和instanceof()用法区别

    typeof()和instanceof()用法区别: 两者都是用来判断数据类型的 typeof()是能用来判断是不是属于五大类型Boolean,Number,String,Null,Undefined ...

  9. 你真的了解java的lambda吗?- java lambda用法与源码分析

    你真的了解java的lambda吗?- java lambda用法与源码分析 转载请注明来源:cmlanche.com 用法 示例:最普遍的一个例子,执行一个线程 new Thread(() -> ...

随机推荐

  1. C3P0数据库连接池使用中的问题

    java.io.FileNotFoundException: D:\javaStudy\javaee\.metadata\.plugins\org.eclipse.wst.server.core\tm ...

  2. JQuery对联广告

    html--------------------------------------------------------------------------------------<!DOCTY ...

  3. win10 + Debian9.1双系统安装笔记

    今天去163镜像上下载了"linuxmint-18.2-cinnamon-64bit.iso"和win10安装了双系统,感觉比在桌面方面十分不错,下面mark一下自己安装过程中的总 ...

  4. Python 使用期物处理并发

    抨击线程的往往是系统程序员,他们考虑的使用场景对一般的应用程序员来说,也许一生都不会遇到--应用程序员遇到的使用场景,99% 的情况下只需知道如何派生一堆独立的线程,然后用队列收集结果. 示例:网络下 ...

  5. Win10各版本区别

    Win10各版本之间的区别.. ------------------- =============================================功能最强大的,不是日后绝大多数中国用户 ...

  6. yii2 Rbac使用yii命令一键建表

    首先在web.php和console.php配置authmanager组件,web.php是应用配置文件,console.php是yii命令配置文件,都需要配置. 在components加入如下配置: ...

  7. Android笔记: 在Eclipse环境下使用Genymotion模拟器

    1.为什么用Genymotion? Genymotion使用x86构架的android系统,在PC上跑起来速度快的飞起,部署速度比真机还快,还有谁? 2.下载Genymotion. Genymotio ...

  8. Django配置mysql

    我的环境为windows10+pyhton3.6+Django1.11.4 由于mysqldb不支持python3,所以django连接MySQL就不能再使用mysqldb了.故而选择了mysqlcl ...

  9. Python验证码通过pytesser识别

    Python安装包: 需要安装的包主要有两个: PIL 和 pytesser .tesseract (1).安装PIL:下载地址:http://www.pythonware.com/products/ ...

  10. boost::pool 库速记

    使用示例 #include <functional> #include <iostream> #include <boost/pool/pool.hpp> #inc ...