Java编程学习中instanceof和isInstance区别详解


给你java学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm

obj.instanceof(class)

判断对象是不是某种对象,这个分成三种情况

1 对象是不是本身类的对象

2 对象是不是本身接口(接口的接口)和本身父类(父类的父类)的对象

3 所有对象都是Object

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

class.isInstance(obj)

对象能不能被强转成对象,这个也分成三种情况

1 对象能不能被自己对象强转

2 对象能不能被自己对象所继承的类和实现的接口强转

3 对象能不能被object强转

public class X {

}

public class Y extends X {

}

public class Test {

public static void main(String[] args) {

Y y = new Y();

X x = new X();

X yx = new Y();

System.out.println("=======1=======");

System.out.println(y instanceof Y);

System.out.println(y instanceof X);

System.out.println(y instanceof Object);

System.out.println("=======2=======");

System.out.println(y.getClass().isInstance(y));

System.out.println(y.getClass().isInstance(x));

System.out.println("=======3=======");

System.out.println(x.getClass().isInstance(yx));

System.out.println(y.getClass().isInstance(yx));

System.out.println("=======4=======");

System.out.println(X.class.isInstance(x));

System.out.println(X.class.isInstance(y));

System.out.println(X.class.isInstance(yx));

System.out.println("=======5=======");

System.out.println(Y.class.isInstance(x));

System.out.println(Y.class.isInstance(y));

System.out.println(Y.class.isInstance(yx));

System.out.println("=======6=======");

System.out.println(Object.class.isInstance(y));

}

}

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

java是面向过程的编程语言:Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 多态 任何域的访问操作都将有编译器解析,如果某个方法是静态的,它的行为就不具有多态性 java默认对象的销毁顺序与...
    yueyue_projects阅读 1,061评论 0 1
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,051评论 18 399
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 5,217评论 0 41
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,232评论 0 62
  • 来南京已经一个月了,对于这里的人和事也大概看了看,因为平时话不多,只好慢慢摸索,自己体会。有一些事确实走了弯路...
    刘氏崛起阅读 255评论 0 0

友情链接更多精彩内容