Class.isAssignableFrom()是用来判断一个类Class1和另一个类Class2是否相同或是另一个类的子类或接口。   
格式为:
        Class1.isAssignableFrom(Class2)   
  调用者和参数都是java.lang.Class类型。   
  而instanceof是用来判断一个对象实例是否是一个类或接口的或其子类子接口的实例。  
  格式是:o instanceof TypeName     
  第一个参数是对象实例名,第二个参数是具体的类名或接口名,例如   String,InputStream。

  1. package com.bill99.pattern;
  2. public class AssignableTest {
  3. public AssignableTest(String name) {
  4. }
  5. /**
  6. * 判断一个类是否是另一个类的父类
  7. * 是打印true
  8. * 否打印false
  9. */
  10. public static void testIsAssignedFrom1() {
  11. System.out.println("String是Object的父类:"+String.class.isAssignableFrom(Object.class));
  12. }
  13. /**
  14. * 判断一个类是否是另一个类的父类
  15. * 是打印true
  16. * 否打印false
  17. */
  18. public static void testIsAssignedFrom2() {
  19. System.out.println("Object是String的父类:"+Object.class.isAssignableFrom(String.class));
  20. }
  21. /**
  22. * 判断一个类是否和另一个类相同
  23. * 是打印true
  24. * 否打印false
  25. */
  26. public static void testIsAssignedFrom3() {
  27. System.out.println("Object和Object相同:"+Object.class.isAssignableFrom(Object.class));
  28. }
  29. /**
  30. * 判断str是否是Object类的实例
  31. * 是打印true
  32. * 否打印false
  33. */
  34. public static void testInstanceOf1() {
  35. String str = new String();
  36. System.out.print("str是Object的实例:");
  37. System.out.println(str instanceof Object);
  38. }
  39. /**
  40. * 判断o是否是Object类的实例
  41. * 是打印true
  42. * 否打印false
  43. */
  44. public static void testInstanceOf2() {
  45. Object o = new Object();
  46. System.out.print("o是Object的实例:");
  47. System.out.println(o instanceof Object);
  48. }
  49. public static void main(String[] args) {
  50. testIsAssignedFrom1();
  51. testIsAssignedFrom2();
  52. testIsAssignedFrom3();
  53. testInstanceOf1();
  54. testInstanceOf2();
  55. }
  56. }

结果:

String是Object的父类:false
Object是String的父类:true
Object和Object相同:true
str是Object的实例:true
o是Object的实例:true

Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别的更多相关文章

  1. instanceof关键字 与 getClass()

    在equals()中使用getClass进行类型判断 我们在覆写equals()方法时,一般都是推荐使用getClass来进行类型判断,不是使用instanceof.我们都清楚instanceof的作 ...

  2. 判断一个类是否为另一个类的实例 instanceof关键字和isAssignableFrom方法的区别

    Which of the following is better? a instanceof B or B.class.isAssignableFrom(a.getClass()) The only ...

  3. Class.isAssignableFrom(Class clz)与instanceof与Class.isInstance(Object obj) 的区别和联系

    编程的时候可能会遇到一个不知道它属于哪个类的对象,我们可以用下列运算符或者方法来判断.  1.instanceof instanceof是运算符只被用于对象引用变量,检查左边的被测试对象是不是右边类或 ...

  4. Java-Runoob-高级教程-实例-方法:07. Java 实例 – instanceOf 关键字用法

    ylbtech-Java-Runoob-高级教程-实例-方法:07. Java 实例 – instanceOf 关键字用法 1.返回顶部 1. Java 实例 - instanceof 关键字用法   ...

  5. Java中isAssignableFrom()方法与instanceof()方法用法

    一句话总结: isAssignableFrom()方法是从类继承的角度去判断,instanceof()方法是从实例继承的角度去判断. isAssignableFrom()方法是判断是否为某个类的父类, ...

  6. instanceof关键字使用的方法(解决转型异常ClassCastException)

    一丶问题显现: 当你是父类的情况下,像使用子类的特定功能,就需要向下转型,但向下转型有可能会报错(ClassCastException) 而instanceof关键字就是解决异常的小能手,他能判断是否 ...

  7. [zz]Java中的instanceof关键字

    1.What is the 'instanceof' operator used for? stackoverflow的一个回答:http://stackoverflow.com/questions/ ...

  8. Java中instanceof关键字的用法

    Java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. instanc ...

  9. Java instanceof 关键字是如何实现的?

    作者:RednaxelaFX链接:https://www.zhihu.com/question/21574535/answer/18998914来源:知乎著作权归作者所有.商业转载请联系作者获得授权, ...

随机推荐

  1. 利用Android Lost通过互联网或短信远程控制安卓设备

    利用Android Lost通过互联网或短信远程控制安卓设备 作者:Jack Wallen| 杰克·瓦伦翻译:PurpleEndurer.2014-11-15第1版 使用智能手机要考虑的一个至关重要的 ...

  2. JavaScript进阶系列03,通过硬编码、工厂模式、构造函数创建JavaScript对象

    本篇体验通过硬编码.工厂模式.构造函数来创建JavaScript对象. □ 通过硬编码创建JavaScript对象 当需要创建一个JavaScript对象时,我们可能这样写: var person = ...

  3. 电子书下载:Delphi XE 5 移动开发入门手册(完整版)

    更多电子书请到: http://maxwoods.400gb.com 下载:Delphi XE5移动开发入门手册(完整版)

  4. Windows XP Manifest in Delphi

    Find out how you can include the manifest into a Delphi project to allow your application to share t ...

  5. future封装了callable,thread封装future。

    三.使用Callable,Future返回结果 总结:future封装了callable,thread封装future.将callable的返回结果封装在future中,thread封装future, ...

  6. JKS和PFX文件相互转换方法

    JKS(JavaKeysotre)格式和PFX(PKCS12)格式,是最常见的SSL证书格式文件,可以包含完整的证书密钥对,证书链和信任证书信息.PFX常用于Windows IIS服务器,JKS常用语 ...

  7. script标签加载顺序(defer & async)

    script 拥有的属性 async:可选,表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本.只对外部脚本文件有效. charset:可选.表示通过 src 属性指 ...

  8. 女子监狱第四季/全集Orange Is the New Black迅雷下载

    女子监狱 第三季 Orange Is the New Black 3 (2015) 本季看点:该剧由<吉尔莫女孩>.<单身毒妈第一季>编剧杰姬·科恩的打造.由<护士当家& ...

  9. 裂痕第一至五季/以法之名Damages迅雷下载

    本季第一至五季Damages Season (2007-2012)看点:<裂痕>又是一部以法律剧情为主打,其间又掺杂着悬念,阴谋,破案等因素的剧集.女主角帕蒂-赫韦斯(Patty Hewe ...

  10. 星际之门SG1第一至十季/全集Stargate SG-1迅雷下载

    英文译名 Stargate SG-1 (第一至十季) (1997-2008)Syfy.本季看点:<星际之门 SG-1>1997年起在美播出第一季,并于全球30多个国家播映,反应热烈,今年( ...