日期: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编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论