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. }

转载于:https://www.cnblogs.com/developer-os/p/7700207.html

Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别相关推荐

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

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

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

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

  3. java instance关键字_Java中instanceof关键字和isInstance()方法的区别是什么

    instanceof关键字和isInstance()方法都用于检查对象的类,那么它们之间有什么区别?下面本篇文章就来带大家了解一下instanceof关键字和isInstance()方法之间的区别,希 ...

  4. Java中的instanceof关键字

    Java中的instanceof关键字 instanceof是Java的一个二元操作符,和==,>,<是同一类东东.由于它是由字母组成的,所以也是Java的保留关键字.它的作用是测试它左边 ...

  5. java多态性补充-instanceof关键字

    //不能调用子类所特有的方法.属性 ,编译时,P2是person类型// p2.earnMoney();//有了对象的多态性以后,内存中实际上加载了子类特有的属性和方法,但由于变量声明为父类类型,导致 ...

  6. Java之Object类与instanceof关键字

    Object类是所有类的父类: 我们上下代码: 1 package com.learn.chap03.sec14; 2 3 public class A { // 上面类A继承了Object类,因此又 ...

  7. 1.10 instanceof关键字

    严格来说 instanceof 是 Java 中的一个双目运算符,由于它是由字母组成的,所以也是 Java 的保留关键字.在 Java 中可以使用 instanceof 关键字判断一个对象是否为一个类 ...

  8. java instanceof 继承_Java中的instanceof关键字

    Java中,instanceof运算符的前一个操作符是一个引用变量,后一个操作数通常是一个类(可以是接口),用于判断前面的对象是否是后面的类,或者其子类.实现类的实例.如 果是返回true,否则返回f ...

  9. Java instanceof关键字详解

    严格来说 instanceof 是 Java 中的一个双目运算符,由于它是由字母组成的,所以也是 Java 的保留关键字.在 Java 中可以使用 instanceof 关键字判断一个对象是否为一个类 ...

最新文章

  1. Symfony2Book06:路由
  2. Mysql_mysql 性能分析及explain用法
  3. feedback.php,feedback.php
  4. zs040蓝牙模块使用方法_如何使用车载蓝牙播放手机音乐的方法
  5. 售价19000元!华为发布全新5G折叠屏手机Mate Xs
  6. 在WCF中使用Ninject轻量级IOC框架 之 SOAP风格服务
  7. [日期]字符串转Data对象
  8. JAVA Graphics2D种drawLine方法
  9. Vue自定义组件——图片放大器,js点击<img>触发图片放大,富文本内图片点击实现放大器效果
  10. 腾讯蔡晨:十年沉淀,腾讯iOA为企业安全保驾护航
  11. 计算机联机玩游戏的操作方法,win10系统电脑联机玩罗马复兴的设置方法
  12. github不小心同步覆盖了本地文件
  13. @Required用法
  14. 在职场,光有技术是不行的,18年老程序员职场宝贵经验分享
  15. C语言运算符的优先级和结合
  16. QCon全球软件开发大会(北京站)2015精彩回顾和总结
  17. Nginx 细说proxy_set_header $remote_addr和X-Forwarded-For
  18. 如何申请接入微信APP支付文章
  19. [信号处理] #1 FFT结果的物理意义
  20. chrom如何安装axure 插件,解决chrom浏览器不能打开原型设计文件的问题

热门文章

  1. sql union 行数不同_十八般武艺玩转GaussDB(DWS)性能调优(二):坏味道SQL识别
  2. python pygame sdl2教程_无法安装pygame sdl2
  3. python函数参数的作用是_python函数参数的不同
  4. 苹果7支持快充吗_iPhone12的磁吸无线充到底怎么回事?是否支持苹果20W快充?
  5. Linux后台运行jar不产生nohup.out
  6. ORACLE(Linux版本)实时同步数据到MYSQL(Linux版本)解决方案:OGG
  7. Android开发笔记(六)可变字符串
  8. php简单实现二级联动
  9. Windows server 2008 R2 DHCP服务器的架设
  10. Linux基础之bash脚本编程初级-变量与算术运算