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


最新文章

  1. 最近自己封装了个JS脚本,用来创建和操作Table
  2. Java变量自增和自减运算符的用法
  3. SQL基本CRUD
  4. [转]PhoneGap使用PushPlugin插件实现消息推送
  5. lua if
  6. ExtJs之进度条实现
  7. SQL Server 2012学习笔记 1 命令行安装
  8. winhec
  9. (java web后端方向)如何让你的简历为你争取到更多的面试机会,内容来自java web轻量级开发面试教程
  10. POJ 2007 Scrambled Polygon [凸包 极角排序]
  11. 基于JavaMail向邮箱发送邮件
  12. jdk7_ConcurrentHashMap 图示
  13. 数据库链接池c3p0的配置
  14. 用原生js+canvas实现五子棋
  15. JSON初步认识
  16. windows下更改Mac地址
  17. odoo10如何自定义自动生成单据编号
  18. Spring Batch 基本的批处理指导原则
  19. 女性睾酮水平高(High Testosterone Levels in Women)
  20. EOS开发基础之五:使用cleos命令行客户端操作EOS——智能合约之Exchange

热门文章

  1. SRM 558 SurroundingGame
  2. [USACO17FEB]Why Did the Cow Cross the Road II S
  3. ●BZOJ 3123 [Sdoi2013]森林
  4. ●HDU 2871 Memory Control(Splay)
  5. 51nod 1035:最长的循环节
  6. HDU 6107 Typesetting
  7. Python中生成器和迭代器的功能介绍
  8. 用solidity语言开发代币智能合约
  9. Java Native方法
  10. PHP开发中Redis安装(CentOS6.5)