instanceof 关键字

1:快速演示instanceof

    Person p=new Person();
System.out.println( p instanceof Person);

2:instanceof是什么?

1:属于比较运算符:

2:instanceof关键字:该关键字用来判断一个对象是否是指定类的对象。

3:用法:

对象 instanceof 类;

该表达式是一个比较运算符,返回的结果是boolea类型 true|false

注意:使用instanceof关键字做判断时,两个类之间必须有关系。

3:案例

定义一个功能表函数,根据传递进来的对象的做不同的事情,如果是狗让其看家,如果是猫让其抓老鼠

1:定义动物类

2:定义狗类继承动物类

3:定义猫类继承动物类

4:定义功能根据传入的动物,执行具体的功能

5:instanceof好处可以判断对象是否是某一个类的实例

/*
instanceof
比较运算符
检查是否是类的对象
1:可以判断对象是否是某一个类的实例
用法
对象 instanceof 类; 案例
定义一个功能函数,根据传递进来的对象的做不同的事情
如果是狗让其看家,如果是猫让其抓老鼠
1:定义动物类
2:定义狗类继承动物类
3:定义猫类继承动物类
4:定义功能根据传入的动物,执行具体的功能
*/ class Animal { String name; void eat() {
System.out.println("吃东西");
} void shout() {
System.out.println("我是动物");
}
} class Dog extends Animal { void eat() {
System.out.println("啃骨头");
} void shout() {
System.out.println("旺旺");
} } class Cat extends Animal { void eat() {
System.out.println("吃老鼠");
} void shout() {
System.out.println("喵喵");
}
} class Demo11 { public static void main(String[] args) { Demo11 d = new Demo11(); // 对象 instanceof 类;
System.out.println(d instanceof Demo11); d.doSomething(new Dog());
d.doSomething(new Cat());
} // 定义一个功能函数,根据传递进来的对象的做不同的事情
// 如果是狗让其看家,如果是猫让其抓老鼠
// 对象 instanceof 类;
void doSomething(Animal a) {
if (a instanceof Dog) {
a.eat();
a.shout();
System.out.println("小狗看家");
} else if (a instanceof Cat) {
a.eat();
a.shout();
System.out.println("抓老鼠");
}
}
}

练习:

        byte[] bs = new byte[] { 1, 2, 3 };
int[] is = new int[] { 1, 2, 3 };
String[] ss = new String[] { "jack", "lucy", "lili" };
System.out.println(bs instanceof byte[]); // true
System.out.println(is instanceof int[]); // true
System.out.println(ss instanceof String[]); // true
// System.out.println(bs instanceof int[]); // 不可转换的类型

【正在看本人博客的这位童鞋,我看你气度不凡,谈吐间隐隐有王者之气,日后必有一番作为!下面有个“顶”字,你就顺手把它点了吧(要先登录CSDN账号哦 )】


—–乐于分享,共同进步!

—–更多文章请看:http://blog.csdn.net/duruiqi_fx


JAVA面向对象-----instanceof 关键字的更多相关文章

  1. JAVA面向对象-----final关键字

    JAVA面向对象-–final关键字 1:定义静态方法求圆的面积 2:定义静态方法求圆的周长 3:发现方法中有重复的代码,就是PI,圆周率. 1:如果需要提高计算精度,就需要修改每个方法中圆周率. 4 ...

  2. JAVA面向对象-----super关键字

    JAVA面向对象-–super关键字 1:定义Father(父类)类 1:成员变量int x=1; 2:构造方法无参的和有参的,有输出语句 2:定义Son类extends Father类 1:成员变量 ...

  3. Java-Runoob-高级教程-实例-方法:07. Java 实例 – instanceOf 关键字用法

    ylbtech-Java-Runoob-高级教程-实例-方法:07. Java 实例 – instanceOf 关键字用法 1.返回顶部 1. Java 实例 - instanceof 关键字用法   ...

  4. Java面向对象-static关键字、静态方法与普通方法、静态成员变量

    Java面向对象-static关键字.静态方法与普通方法 static关键字的基本作用:方便在没有创建对象的情况下来进行调用(方法/变量). 很显然,被static关键字修饰的方法或者变量不需要依赖于 ...

  5. Java 实例 - instanceof 关键字用法

    Java 实例 - instanceof 关键字用法 instanceof 是 Java 的一个二元操作符,类似于 ==,>,< 等操作符. instanceof 是 Java 的保留关键 ...

  6. Java中instanceof关键字的用法

    Java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. instanc ...

  7. Java面向对象重要关键字

    面向对象过程接触的重要关键字:extends   super   this   final   static  extends 关键字用作继承功能,可以申明一个类是从另外一个类继承而来的,一般形式如下 ...

  8. JAVA面向对象-----extends关键字

    继承使用extends关键字实现 1:发现学生是人,工人是人.显然属于is a 的关系,is a就是继承. 2:谁继承谁? 学生继承人,发现学生里的成员变量,姓名和年龄,人里边也都进行了定义.有重 复 ...

  9. java的instanceof关键字

    java 中的instanceof 运算符是用来判断对象是否是 特定类或这个特定类的子类 的一个实例. 用法: result = object instanceof class 参数: Result: ...

随机推荐

  1. [JSOI 2011]分特产

    Description JYY 带队参加了若干场ACM/ICPC 比赛,带回了许多土特产,要分给实验室的同学们. JYY 想知道,把这些特产分给N 个同学,一共有多少种不同的分法?当然,JYY 不希望 ...

  2. [SCOI2005]骑士精神

    题目描述 输入输出格式 输入格式: 第一行有一个正整数T(T<=10),表示一共有N组数据.接下来有T个5×5的矩阵,0表示白色骑士,1表示黑色骑士,*表示空位.两组数据之间没有空行. 输出格式 ...

  3. ●CodeForces 429D Trick_Function

    题链: http://codeforces.com/problemset/problem/429/D题解: 分治,最近点对 不难发现g(i,j)=sum[j]-sum[i], 那么f(i,j)=(i- ...

  4. 51 nod 1515 明辨是非(并查集合并)

    1515 明辨是非题目来源: 原创基准时间限制:1 秒 空间限制:131072 KB 分值: 160 难度:6级算法题 给n组操作,每组操作形式为x y p. 当p为1时,如果第x变量和第y个变量可以 ...

  5. 2015 多校联赛 ——HDU5363(快速幂)

    Problem Description soda has a set S with n integers {1,2,…,n}. A set is called key set if the sum o ...

  6. 【USACO12JAN】视频游戏的连击Video Game Combos

    题目描述 Bessie is playing a video game! In the game, the three letters 'A', 'B', and 'C' are the only v ...

  7. [Codeforces]860E Arkady and a Nobody-men

    屯一个虚树的板子,顺便总结一下这样的题型. Description 给定一棵n个节点的有根树,在输入数据通过给出每个节点的父亲来表示这棵树.若某个节点的父亲为0,那么该节点即为根.现在对于每个点,询问 ...

  8. Mybatis整合Spring实现事务管理的源码分析

    一:前言 没有完整看完,但是看到了一些关键的地方,这里做个记录,过程会有点乱,以后逐渐补充最终归档为完整流程:相信看过框架源码的都知道过程中无法完全确定是怎样的流程,毕竟不可能全部都去测试一遍 ,但是 ...

  9. Windows、Unix、Linux是什么类型的操作系统?

    Windows:具有图形用户界面的视窗操作系统. Unix:多用户分时操作系统. Linux:类似Unix操作系统,用于个人计算机.

  10. Junit 注解 类加载器 .动态代理 jdbc 连接池 DButils 事务 Arraylist Linklist hashset 异常 哈希表的数据结构,存储过程 Map Object String Stringbufere File类 文件过滤器_原理分析 flush方法和close方法 序列号冲突问题

    Junit 注解 3).其它注意事项: 1).@Test运行的方法,不能有形参: 2).@Test运行的方法,不能有返回值: 3).@Test运行的方法,不能是静态方法: 4).在一个类中,可以同时定 ...