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

Posted studycode

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

技术分享图片

 



以上是关于10.4 使用instanceof操作符判断对象类型的主要内容,如果未能解决你的问题,请参考以下文章

instanceof的用法

php 中 instanceof 操作符

instanceof运算符

instanceof是啥意思

instanceof操作符

判断一个对象是不是某个类的实例有哪些方法