【发布时间】:2014-12-29 05:36:52
【问题描述】:
我最近在我的以下代码 sn-p 中遇到了一个奇怪的编译错误:
class A {
}
class B extends A {
}
class Example {
}
class Demo {
public static void main (String args[]){
B b = new B();
if(b instanceof Example) {
System.out.println("Yes it is");
}
}
}
现在我的谓词出现编译错误,表明 B 和 Example 是不兼容的操作数。找了一会,发现如果没有导入右手操作数,Eclipse环境会出现这样的错误。但在我的情况下,所有类都在同一个文件中。所以我无法弄清楚这个问题。 instanceof 是否仅适用于层次结构和我一直在尝试无效的示例?
【问题讨论】:
-
B和Example之间没有继承链接,所以异常。
-
@Dev 异常在运行时抛出 - 这不是异常,这是编译错误
-
是的,应该是编译器错误。
标签: java oop instanceof