缩略图

Java instanceof 运算符

2026年09月27日 网站文章 会被自动插入 会被自动插入
本文最后更新于2026-09-27已经过去了7天请注意内容时效性
热度6 点赞 收藏0 评论0

  多态性带来了一个问题,就是如何判断一个变量所实际引用的对象的类型。C++使用runtime-type information(RTTI),Java使用instanceof操作符。

  instanceof运算符用来判断一个变量所引用的对象的实际类型,注意是它引用的对象的类型,不是变量的类型。请看下面的代码:

  public final class Demo{

  public static void main(String[]args){

  //引用People类的实例

  People obj=new People();

  if(obj instanceof Object){

  System.out.println("我是一个对象");

  }

  if(obj instanceof People){

  System.out.println("我是人类");

  }

  if(obj instanceof Teacher){

  System.out.println("我是一名教师");

  }

  if(obj instanceof President){

  System.out.println("我是校长");

  }

  System.out.println("-----------");//分界线

  //引用Teacher类的实例

  obj=new Teacher();

  if(obj instanceof Object){

  System.out.println("我是一个对象");

  }

  if(obj instanceof People){

  System.out.println("我是人类");

  }

  if(obj instanceof Teacher){

  System.out.println("我是一名教师");

  }

  if(obj instanceof President){

  System.out.println("我是校长");

  }

  }

  }

  class People{}

  class Teacher extends People{}

  class President extends Teacher{}

  运行结果:

  我是一个对象

  我是人类

  -----------

  我是一个对象

  我是人类

  我是一名教师

  可以看出,如果变量引用的是当前类或它的子类的实例,instanceof返回true,否则返回false。

  更多技术教程,请关注90资源网www.cnhacker90.com

淚
奈
硫
正文结束 阅读本文相关话题
相关阅读
评论框
正在回复
评论列表

暂时还没有任何评论,快去发表第一条评论吧~

空白列表