<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[璀璨心灵 - J2SE]]></title>
<link>http://blog.mmgg.net/</link>
<description><![CDATA[记录那些朝花拾夕的日子]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog2 v2.4]]></copyright>
<webMaster><![CDATA[Fly@MMGG.NET(小飞飞)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>璀璨心灵</title> 
	<url>http://blog.mmgg.net/images/logos.gif</url> 
	<link>http://blog.mmgg.net/</link> 
	<description>璀璨心灵</description> 
</image>

			<item>
			<link>http://blog.mmgg.net/default.asp?id=1</link>
			<title><![CDATA[Java中的instanceof关键字]]></title>
			<author>Fly@MMGG.NET(Fly)</author>
			<category><![CDATA[J2SE]]></category>
			<pubDate>Thu,24 Apr 2008 16:35:11 +0800</pubDate>
			<guid>http://blog.mmgg.net/default.asp?id=1</guid>	
		<description><![CDATA[instanceof是Java的一个二元操作符，和==，&gt;，&lt;是同一类东东。由于它是由字母组成的，所以也是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例，返回boolean类型的数据。举个例子：<br /><br />　　String s = &quot;I AM an Object!&quot;;<br />　　boolean isObject = s instanceof Object;<br /><br />　　我们声明了一个String对象引用，指向一个String对象，然后用instancof来测试它所指向的对象是否是Object类的一个实例，显然，这是真的，所以返回true，也就是isObject的值为True。<br />　　instanceof有一些用处。比如我们写了一个处理账单的系统，其中有这样三个类：<br /><br />　　public class Bill {//省略细节}<br />　　public class PhoneBill extends Bill {//省略细节}<br />　　public class GasBill extends Bill {//省略细节}<br /><br />　　在处理程序里有一个方法，接受一个Bill类型的对象，计算金额。假设两种账单计算方法不同，而传入的Bill对象可能是两种中的任何一种，所以要用instanceof来判断：<br /><br />　　public double calculate(Bill bill) {<br />　　if (bill instanceof PhoneBill) {<br />　　//计算电话账单<br />　　}<br />　　if (bill instanceof GasBill) {<br />　　//计算燃气账单<br />　　}<br />　　...<br />　　}<br />　　这样就可以用一个方法处理两种子类。<br /><br />　　然而，这种做法通常被认为是没有好好利用面向对象中的多态性。其实上面的功能要求用方法重载完全可以实现，这是面向对象变成应有的做法，避免回到结构化编程模式。只要提供两个名字和返回值都相同，接受参数类型不同的方法就可以了：<br /><br />　　public double calculate(PhoneBill bill) {<br />　　//计算电话账单<br />　　}<br /><br />　　public double calculate(GasBill bill) {<br />　　//计算燃气账单<br />　　}<br /><br />　　所以，使用instanceof在绝大多数情况下并不是推荐的做法，应当好好利用多态。]]></description>
		</item>
		
</channel>
</rss>