class A {}
class B {}
public class Demo {
public static void main(String[] args) {
A a = new A();
System.out.println(a instanceof B);
}
}
此代码给出了编译时错误。
当对象不是指定的类的实例时,如何使用
instanceof
给出false而不是编译时错误。 最佳答案
Java知道A
不能为B
,因此不会编译。如果将行更改为
Object a = new A();
它将编译(并返回false),因为它不再能够确定
Object
是否可以转换为B
类型。