java中的instanceof用来判断一个类是否是另一个类的对象,即is-a关系
但是不能跨类层次,即不能比较两个不相干的类。
无法通过编译。
编译通过,打印true
将Cat由class改为interface,如下:
则编译通过,打印false
编译通过,打印true
但是不能跨类层次,即不能比较两个不相干的类。
class Cat{}
class Fish {
public static void main(String[] args){
Fish t= new Fish();
System.out.println(t instanceof Cat);
}
}
无法通过编译。
class Cat{}
class Fish extends Cat{
public static void main(String[] args){
Fish t= new Fish();
System.out.println(t instanceof Cat);
}
}
编译通过,打印true
将Cat由class改为interface,如下:
interface Cat{}
class Fish {
public static void main(String[] args){
Fish t= new Fish();
System.out.println(t instanceof Cat);
}
}
则编译通过,打印false
interface Cat{}
class Fish implements Cat{
public static void main(String[] args){
Fish t= new Fish();
System.out.println(t instanceof Cat);
}
}
编译通过,打印true