专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » 运算符:instanceof运算符 »正文

运算符:instanceof运算符

来源: 发布时间:星期三, 2008年9月10日 浏览:120次 评论:0

由于类的多态性,类的变量既可以指向本类实例,又可以指向其子类的实例。在程序中,有时需要判明一个引用到底指向哪个实例。这可以通过instanceof运算符来实现。


假定类的继承关系如下所示:
public class Employee extends Object
public class Manager extends Employee
public class Contractor extends Employee
则类之间的层次关系如图5-1所示。


请注意,虽然extends Object的写法完全合乎语法,但由于Object是所有类的父类,因此,这种写法是多余的。在这里,这样写的目的只是为了提醒读者注意类之间的层次关系。


假定,Employee类型的引用指向一个对象,但分辨不清该对象是Employee类型、Manager类型还是Contractor类型。借助于instanceof,可以判明它的真正类型,见例5-12。


例5—12:
public void method(Employee e){
if(e instanceof Manager){
∥经理级人士
}
else if(e instanceof Contractor){
∥掌握公司机密的高层人士
}
else{
/普通雇员
}
}

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: