当前位置:七道奇文章资讯编程技术Java编程
日期:2011-01-26 02:54:00  来源:本站整理

<b>Java底子:Java中的instanceof关键字</b>[Java编程]

赞助商链接



  本文“<b>Java底子:Java中的instanceof关键字</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

    instanceof是Java的一个二元操作符,和==,>,<是同一类东东.由于它是由字母构成的,所以也是Java的保存关键字.它的作用是测试它左边的对象能否是它右边的类的实例,返回boolean范例的数据.举个例子:

String s = "I AM an Object!";
boolean isObject = s instanceof Object;

    我们声明了一个String对象引用,指向一个String对象,然后用instancof来测试它所指向的对象能否是Object类的一个实例,明显,这是真的,所以返回true,也就是isObject的值为True. instanceof有一些用处.比方我们写了一个处理账单的系统,此中有这样三个类:

public class Bill {//省略细节}
public class PhoneBill extends Bill {//省略细节}
public class GasBill extends Bill {//省略细节}

    在处理程序里有一个办法,承受一个Bill范例的对象,计算金额.假定两种账单计算办法差别,而传入的Bill对象大概是两种中的任何一种,所以要用instanceof来判断:

public double calculate(Bill bill) {
if (bill instanceof PhoneBill) {
//计算电话账单
}
if (bill instanceof GasBill) {
//计算燃气账单
}
...
}

    这样便可以用一个办法处理两种子类.

    但是,这种做法普通被认为是没有好好操纵面向对象中的多态性.其实上面的功效要求用办法重载完好可以实现,这是面向对象变成应有的做法,避免回到构造化编程情势.只要供应两个名字和返回值都相同,承受参数范例差别的办法便可以了:

public double calculate(PhoneBill bill) {
//计算电话账单
}

public double calculate(GasBill bill) {
//计算燃气账单
}

    所以,利用instanceof在绝大大都情形下并非举荐的做法,该当好好操纵多态.


  以上是“<b>Java底子:Java中的instanceof关键字</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .