当前位置:首页 > 服务端 > java基础---instanceof

java基础---instanceof

a instanceof class
左边必须是子类的实例,同时class也可以是接口,只要对象实现了就行。
 
  1. package myPackage;    
  2. /**  
  3. * instanceof运算符用法  
  4. * 运算符是双目运算符,左面的操作元是一个对象,右面是一个类.当  
  5. * 左面的对象是右面的类创建的对象时,该运算符运算的结果是true,否则是false  
  6. *   
  7. * 说明:(1)一个类的实例包括本身的实例,以及所有直接或间接子类的实例  
  8. * (2)instanceof左边操作元显式声明的类型与右边操作元必须是同种类或右边是左边父类的继承关系,  
  9. * (3)不同的继承关系下,编译出错  
  10. */    
  11. class Person {    
  12. }    
  13. class Student extends Person {    
  14. }    
  15. class Postgraduate extends Student {    
  16. }    
  17. class Animal {    
  18. }    
  19. public class Ex_instanceOf {    
  20. public static void main(String[] args) {    
  21.    instanceofTest(new Student());    
  22. }    
  23. /**  
  24. * 这个程序的输出结果是:p是类Student的实例  
  25. *   
  26. * Person类所在的继承树是:Object<--Person<--Student<--Postgraduate。  
  27. *   
  28. * 这个例子中还加入一个Animal类,它不是在Person类的继承树中,所以不能作为instanceof的右操作数。  
  29. *   
  30. * @param p  
  31. */    
  32. public static void instanceofTest(Person p) {    
  33.    // p 和 Animal类型不一样,彼此之间没有继承关系,编译会出错    
  34.    // 提示错误:Incompatible conditional operand types Person and Animal    
  35.    // if(p instanceof Animal){    
  36.    // System.out.println("p是类Animal的实例");    
  37.    // }    
  38.    //下面代码的除了第一行都会输出    
  39.    if (p instanceof Postgraduate) System.out.println("p是类Postgraduate的实例");    
  40.    if (p instanceof Person) System.out.println("p是类Person的实例");    
  41.    if (p instanceof Student) System.out.println("p是类Student的实例");    
  42.    if (p instanceof Object) System.out.println("p是类Object的实例");    
  43.    
  44. }    
  45. }   

作者:buptyuhanwen
来源链接:https://www.cnblogs.com/buptyuhanwen/p/9396420.html

版权声明:
1、Java侠(https://www.javaxia.com)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaxia.com/server/124555.html

分享给朋友:

“java基础---instanceof” 的相关文章