instanceof 不能与任何类一起使用?

问题描述 投票:0回答:1

我正在Java中尝试

instanceof
。我声明了三个类,其中一个类扩展了另一个类,如下所示:

class ParentClass {
    // Class members
}
class ChildClass extends ParentClass{
    // Class members
}
class OtherClass {
    // Class members
}
如果

instanceof
能够像下面的前三种用法一样给出 true ,那么它就可以正常工作。但是,当与在最后一个语句中给出 false 的类一起使用时,它会给出 “不兼容的条件操作数类型错误”

public class JavaTest{
    public static void main(String[] args) {
        ChildClass childObj = new ChildClass();
        System.out.println(childObj instanceof ChildClass);
        System.out.println(childObj instanceof ParentClass);
        System.out.println(childObj instanceof Object);
        System.out.println(childObj instanceof OtherClass);
    }
}

这是什么原因?

java inheritance compiler-errors extends instanceof
1个回答
0
投票

你可以改成这个

public class JavaTest{
    public static void main(String[] args) {
        Object childObj = new ChildClass();
        System.out.println(childObj instanceof ChildClass);
        System.out.println(childObj instanceof ParentClass);
        System.out.println(childObj instanceof Object);
        System.out.println(childObj instanceof OtherClass);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.