当前位置:编程学习 > JAVA >>

Java中instanceof用法

java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
 用法:
result = object instanceof class
参数:
Result:布尔类型。
Object:必选项。任意对象表达式。
Class:必选项。任意已定义的对象类。
说明:
如果object 是class 的一个实例,则instanceof 运算符返回true。如果object 不是指定类的一个实例,或者object 是null,则返回false。
 
 
 
例子如下:
 
 
package com.instanceoftest;
 
 
 
 interface A{}
 class B implements A{
 
 }
 class C extends B {
 
 }
 
 class instanceoftest {
  public static void main(String[] args){
     A a=null;
     B b=null;
     boolean res;
    
     System.out.println("instanceoftest test case 1: ------------------");
       res = a instanceof A;
       System.out.println("a instanceof A: " + res);
      
       res = b instanceof B;
       System.out.println("b instanceof B: " + res);
      
     System.out.println("/ninstanceoftest test case 2: ------------------");  
     a=new B();
     b=new B();
    
     res = a instanceof A;
     System.out.println("a instanceof A: " + res);
    
     res = a instanceof B;
     System.out.println("a instanceof B: " + res);
 
     res = b instanceof A;
     System.out.println("b instanceof A: " + res);
    
     res = b instanceof B;
     System.out.println("b instanceof B: " + res);
   
     System.out.println("/ninstanceoftest test case 3: ------------------");
     B b2=(C)new C();
    
     res = b2 instanceof A;
     System.out.println("b2 instanceof A: " + res);
    
     res = b2 instanceof B;
     System.out.println("b2 instanceof B: " + res);
    
     res = b2 instanceof C;
     System.out.println("b2 instanceof C: " + res);
  }
}
 
 
/*
result:
 
 
instanceoftest test case 1: ------------------
a instanceof A: false
b instanceof B: false
 
instanceoftest test case 2: ------------------
a instanceof A: true
a instanceof B: true
b instanceof A: true
b instanceof B: true
 
instanceoftest test case 3: ------------------
b2 instanceof A: true
b2 instanceof B: true
b2 instanceof C: true
 
 
 
*/
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,