当前位置: 技术问答>java相关
看书的时候有个地方不懂:instanceof的用法,以及它的概念。不要写英文呀:)
来源: 互联网 发布时间:2015-03-06
本文导语: 使用instanceof来测试一个对象的类型? public class Employee extends Objectpublic class Manager extends Employeepublic class Contractor extends Employeepublic void method(Employee e) { if (e instanceof Manager) { ********** /...
使用instanceof来测试一个对象的类型?
public class Employee extends Objectpublic
class Manager extends Employeepublic
class Contractor extends Employeepublic
void method(Employee e) {
if (e instanceof Manager) {
**********
// Get benefits and options along with salary
}else if (e instanceof Contractor) {
**********
// Get hourly rates }else {
// temporary employee }
如果不用instanceof做测试,就会有类型转换失败的危险???
public class Employee extends Objectpublic
class Manager extends Employeepublic
class Contractor extends Employeepublic
void method(Employee e) {
if (e instanceof Manager) {
**********
// Get benefits and options along with salary
}else if (e instanceof Contractor) {
**********
// Get hourly rates }else {
// temporary employee }
如果不用instanceof做测试,就会有类型转换失败的危险???
|
java 中是单根继承,即单继承。所以object类是所有类的父类。
为了在程序中支持Runtime Type Identify(运行时类型鉴定)和
动态生成对象,就必须能够判别一个对象的类型,判别它是哪个类的
一个实例。在这里,instanceof 就是完成这个功能的了。
如果不用instanceof做测试,你就不知道它属于继承体系中的哪一个
分支,当然就有可能会有类型转换失败的危险了。
为了在程序中支持Runtime Type Identify(运行时类型鉴定)和
动态生成对象,就必须能够判别一个对象的类型,判别它是哪个类的
一个实例。在这里,instanceof 就是完成这个功能的了。
如果不用instanceof做测试,你就不知道它属于继承体系中的哪一个
分支,当然就有可能会有类型转换失败的危险了。
|
判断 一个对象 是不是从一个类系中产生的
|
instanceOf
source instance is usually a super class type
target instance is usually a sub class
BTW, you have to read English Book in order to be a good developer.
source instance is usually a super class type
target instance is usually a sub class
BTW, you have to read English Book in order to be a good developer.
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。