instanceof

instanceof

instanceof用于判断左边的对象是否是右边类的实例,这个好懂。但是,将右边的类写成Animal和Object,就叫人感觉怪怪的,毕竟two是Cat类的实例,跟父类有什么关系,怎么能用instanceof做这样的判断?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,非常抱歉,这里是老师的表述不严谨,这里重新解释一下

1、这个对象是否是这个特定类或者是它的子类的一个实例,这里这个特定类说法,例如:

Cat cat1=new Cat();    if(cat1  instanceof Animal)   这里这个Animal就是特定类,所以这里的解释就可以说是:判断cat1这个对象是否是Animal这种特定类的实例或者这个Animal类型的子类的实例!

2、判断instanceof左边的类是否是Animal/Object的类或者它们的子类 ,左边是对象类型的引用,例如:

Cat  cat1=new Cat();   if(cat1  instanceof  Object){}   这条语句就可以解释为:cat1这个引用对象的类型是否是右边的Object类型的实例或者Object类型的子类的实例。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 鱼儿0001 提问者 #1
    就是说,左边的引用是否是右边父类的实例或者父类的子类实例。。老师,我这样理解对吗?
    2019-05-16 16:34:48
  • 好帮手慕小班 回复 提问者 鱼儿0001 #2
    同学的理解是正确的哦! 继续加油~ ​如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
    2019-05-16 17:30:12
好帮手慕小班 2019-05-15 18:06:45

同学你好,1、java 中 instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。

2、那么将instanceof 右边类型成Animal或者Object就是判断instanceof左边的类是否是Animal/Object的类或者它们的子类,符合语法规范哦!

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 鱼儿0001 #1
    老师,这句“ 这个对象是否是这个特定类或者是它的子类的一个实例。”,特定类是什么,然后或者是它子类的实例。。。怎么理解。还有这句“判断instanceof左边的类是否是Animal/Object的类或者它们的子类 ”。左边是对象的引用吧,怎么成了类?
    2019-05-16 15:05:22
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师