现在的位置: 首页 > 综合 > 正文

java的instanseof运算符号

2013年11月27日 ⁄ 综合 ⁄ 共 643字 ⁄ 字号 评论关闭

 

多态性带来了一个问题:如何判断一个变量所实际引用的对象的类型。C++使用untime-type information(RTTI),Java使用instanceof操作符。 instanceof 运算符功能:用来判断某个实例变量是否属于某种类的类型。一旦确定了变量所引用的对象的类型后,可以将对象恢复给对应的子类变量,以获取对象的完整功能。  

 

示例如下: 

public class Employee extends Object 

public class Manager extends Employee 

public class Contractor extends Employee 

 

如果通过Employee类型的引用接受一个对象, 它变不变成 Manager或 Contractor 都可以。可以象这样用instanceof 来测试: 

 

 

public class Employee extends Object 

public class Manager extends Employee 

public class Contractor extends Employee 

 

public void method(Employee e) { 

  if (e instanceof Manager) { 

    //如果雇员是经理,可以做的事情写在这里 

  }else if (e instanceof Contractor) { 

    //如果雇员是普通的职员,可以做的事情写在这里 

  }else { 

    //说明是临时雇员,可以做的事情写在这里 

  } 

 

 

 

抱歉!评论已关闭.