• 10.4 使用instanceof操作符判断对象类型


    1、概述
      当在程序中执行向下转型操作时,如果父类对象不是子类对象的实例,就会发生ClassCastException异常,所以在做执行向下转型之前需要养成一个良好的习惯,就是判断父类对象是否为子类对象的实例。这个判断通常使用instanceof操作符来完成。
      语法格式:myobject instanceof ExampleClass //myobject:某类的对象引用 ExampleClass:某个类

    例子10.7

     1 class Quadrangle_B{
     2     //SomeSentence
     3 }
     4 
     5 class Square extends Quadrangle_B{
     6     //SomeSentence
     7 }
     8 
     9 class Anything{
    10     //SomeSentence
    11 }
    12 
    13 public class Parallelogram_B extends Quadrangle_B{
    14     public static void main(String args[]) {
    15         Quadrangle_B q = new Quadrangle_B();    //实例化父类对象
    16         
    17         //判断父类对象是否为Parallelogram_B子类的一个实例
    18         if (q instanceof Parallelogram_B) {
    19             Parallelogram_B p = (Parallelogram_B)q;
    20             System.out.println("父类对象Quadrangle_B为Parallelogram_B子类的一个实例");
    21         }
    22         
    23         //判断父类对象是否为Square子类的一个实例
    24         if (q instanceof Square) {
    25             Parallelogram_B p = (Parallelogram_B)q;
    26             System.out.println("父类对象Quadrangle_B为Square子类的一个实例");
    27         }
    28         
    29         System.out.println("打印完毕!");
    30         
    31         //由于q对象不为Anything类的对象,所以这条语句是错误的
    32         //System.out.println(q instanceof Anything);
    33         
    34     }
    35 }
    View Code

  • 相关阅读:
    css 面试学习
    关于CSS的图像放大问题的解决,需要借助jQuery等直接用css3设置
    DEBUG使用
    crontab
    od
    dumpe2fs
    mke2fs
    dd
    GDB
    rm
  • 原文地址:https://www.cnblogs.com/studycode/p/9533313.html
Copyright © 2020-2023  润新知