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

      运行结果:

      我是一个对象

      我是人类

      -----------

      我是一个对象

      我是人类

      我是一名教师

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

  • 相关阅读:
    New Concept English Two 20 52
    timer Compliant Controller project (3)--bom and sch
    New Concept English Two 19 49
    CAM350对比两个gerber之间的差异
    New Concept English Two 18 46
    timer Compliant Controller project (2)--Project Demonstration
    New Concept English Two 17 43
    第15.7节 PyQt入门学习:PyQt5应用构建详细过程介绍
    第15.6节 PyQt5安装与配置
    第15.5节 PyQt的历史沿革介绍
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/9197663.html
Copyright © 2011-2022 走看看