java中 instanceof 运算符的用法

[复制链接]
查看11 | 回复3 | 2015-7-3 20:49:45 | 显示全部楼层 |阅读模式
AA只能是一个对象,而BB只能是一个类名,不能为变量,instanceof的作用就是判断这个对象是否属于BB这个类或其子类的实例,明确了吧!
回复

使用道具 举报

千问 | 2015-7-3 20:49:45 | 显示全部楼层
BB 本身就必须是一个变量 什么类型都可以变量 包含 对象实例
回复

使用道具 举报

千问 | 2015-7-3 20:49:45 | 显示全部楼层
instanceof的作用是测试它左边的对象是否是它右边的类的实例(或对象),因此instanceof的左边AA应该是某个类的对象的名字,而右边的BB应该是某个类的名字。作个比喻假设C是一个类,有语句C mc=new C(); 语句mc instanceof C;测试的结果应为true,很明显左边的对象mc是类C的实例。而语句md instanceof C;则反回false,因为md不是类C的一个实例。BB应该不能是一个变量名,比如int i=2; 那么不能是AA instanceof i;如果是这样那AA应该为什么呢?因为AA是应是一个名字,因此这样的测试是无意义的。现在你应该车底明白了吧
回复

使用道具 举报

千问 | 2015-7-3 20:49:45 | 显示全部楼层
The instanceof operator compares an object to a specified type. You can use it to test if an object is an instance of a class, an instance of a subclass, or an instance of a class that implements a particular interface.说白了,就是看一个实例是不是一个指定的类型或者是不是它的子类型或者是不是它的接口实现。BB都是一个类,而AA是一个实例
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行