当前位置:   article > 正文

java中instanceof和isInstance_interface a { } class c { } class b extends d impl

interface a { } class c { } class b extends d implements a { } public class

直接写代码:

  1. /**
  2. * Created by cxh on 17/07/21.
  3. */
  4. interface A{}
  5. class B{}
  6. class C implements A{}
  7. class D extends B{}
  8. public class Main {
  9. public static void main(String[] args) {
  10. C t1=new C();
  11. D t2=new D();
  12. //obj instanceof class:这个对象是不是这种类型.
  13. //测试1:一个对象是本身类的一个对象
  14. System.out.println(t1 instanceof C);
  15. //测试2:一个对象是本身类父类(父类的父类)和接口的一个对象
  16. System.out.println(t1 instanceof A);
  17. System.out.println(t2 instanceof D);
  18. //测试3:所有对象都是object
  19. System.out.println(t1 instanceof Object);
  20. System.out.println(t2 instanceof Object);
  21. //测试4:凡是null相关的都是false
  22. System.out.println(null instanceof Object);
  23. System.out.println(null instanceof B);
  24. //class.isInstance(obj):这个对象能不能被转化为这个类
  25. //测试1:一个对象是本身类的一个实例
  26. System.out.println(C.class.isInstance(t1));
  27. //测试2:一个对象能被转化为本身类所继承的类(父类的父类)和实现的接口(接口的父接口)强转
  28. System.out.println(A.class.isInstance(t1));
  29. System.out.println(B.class.isInstance(t2));
  30. //测试3:所有对象都能被Object强转
  31. System.out.println(Object.class.isInstance(t1));
  32. System.out.println(Object.class.isInstance(t2));
  33. //测试4:凡是和null相关的都是false
  34. System.out.println(Object.class.isInstance(null));
  35. System.out.println(D.class.isInstance(null));
  36. }
  37. }


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/176085
推荐阅读
相关标签
  

闽ICP备14008679号