zoukankan      html  css  js  c++  java
  • [Java学习] Java instanceof 运算符

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

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

      1. public final class Demo{

      2. public static void main(String[] args) {

      3. // 引用 People 类的实例

      4. People obj = new People();

      5. if(obj instanceof Object){

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

      7. }

      8. if(obj instanceof People){

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

      10. }

      11. if(obj instanceof Teacher){

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

      13. }

      14. if(obj instanceof President){

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

      16. }

      17.

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

      19.

      20. // 引用 Teacher 类的实例

      21. obj = new Teacher();

      22. if(obj instanceof Object){

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

      24. }

      25. if(obj instanceof People){

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

      27. }

      28. if(obj instanceof Teacher){

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

      30. }

      31. if(obj instanceof President){

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

      33. }

      34. }

      35. }

      36.

      37. class People{ }

      38. class Teacher extends People{ }

      39. class President extends Teacher{ }

      运行结果:

      我是一个对象

      我是人类

      -----------

      我是一个对象

      我是人类

      我是一名教师

      (编辑:雷林鹏 来源:网络)

  • 相关阅读:
    Win10 下使用 ionic 框架开发 android 应用之搭载开发环境
    C# 图片压缩
    [安卓应用发布]HOLO一键锁屏
    SRS中增加身份验证
    实际搭建SRS测试的初步问题总结
    推荐一款优秀的开源流媒体服务器系统:SRS(Simple RTMP Server)
    C#--格式化数值数据
    操作系统学习笔记系列(二)-操作系统结构
    操作系统学习笔记系列(一)- 导论
    C语言文件读写
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/9197663.html
Copyright © 2011-2022 走看看