instanceof和Class.isInstance()

来源:互联网 发布:mac 如何识别iphone 编辑:程序博客网 时间:2024/06/04 18:34

class CBase{
 
}
class Base1 extends CBase{
 
}

public class Main {

 public static void main(String[] args) {
          CBase cbase = new CBase();
          Base1 base1 = new Base1();
          System.out.println(cbase instanceof Base1);
          System.out.println(cbase.getClass().isInstance(base1));
          System.out.println(base1 instanceof CBase);
          System.out.println(base1.getClass().isInstance(cbase));
 } 

}

 

答案:

false
true
true
false

 

总结:

子 instanceof  父    true

父 instanceof  子    true

a.Class.getInstance(b)      means b is instanceof a?