java 的 instanceof 问题
发布网友
发布时间:2022-05-02 22:34
我来回答
共4个回答
热心网友
时间:2022-06-27 22:33
1. java中的instanceof 是一个二元操作符(运算符)运算符,由于是字母组成,
所以是Java的保留关键字,但是和>=,<=,==属同一类,它的作用是用来判断,
instanceof 左边对象是否为instanceof 右边类的实例,返回一个boolean类型值。
还可以用来判断子父类的所属关系。
2.用法:
boolean result = object instanceof class
3.参数:
Result:布尔类型。
Object:必选项。任意对象表达式。
Class:必选项。任意已定义的对象类。
4.扩展
如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。
如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false。
热心网友
时间:2022-06-27 22:33
写了一个小测试,你看看是否是第二个的那个情况呢?
public class Test001 {
public static void main(final String[] args) {
final AAA a = new AAA();
System.out.println(a instanceof AAA);//true
System.out.println(a instanceof BBB);//false
final BBB b = new BBB();
System.out.println(b instanceof AAA);//true
System.out.println(b instanceof BBB);//true
final AAA c = new BBB();
System.out.println(c instanceof AAA);//true
System.out.println(c instanceof BBB);//true
}
}
class AAA{}
class BBB extends AAA{}
热心网友
时间:2022-06-27 22:34
那要看更完整的代码了。。。。。。。。
热心网友
时间:2022-06-27 22:34
你追踪一下demand这个变量,看哪里出问题了