﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Java－黑蝙蝠-随笔分类-J2SE(基础) </title><link>http://www.blogjava.net/blackbat/category/7884.html</link><description>&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;
&lt;title&gt;My name is mozart0&lt;/title&gt;
&lt;link rel="Shortcut Icon" type="image/x-icon" href="http://www.macrolong.com/favicon.ico" /&gt;
&lt;style&gt;
#plate{
 filter:progid:DXImageTransform.Microsoft.Pixelate(enabled=false,duration=1,maxSquare=20);
 /*background-color:white;*/
 color:blueviolet;
 width:200px;
 height:80px;
 font-family:verdana;
 font-size:12px;
 padding:20 20 20 20;
 text-align:center;
 font-weight:bold;
 cursor:default;
 }
&lt;/style&gt;
&lt;script&gt;
String.prototype.reverse=function(){
 var a=this.match(/[\s\S]/g);
 if(!a)
 return;
 return a.reverse().join("");
 }
function doPlay(){
 var f=plate.filters[0];
 f.apply();
 plate.innerText=plate.innerText.reverse();
 f.Percent=100;
 //f.Enabled=true;
 f.play();
 }
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id=plate onmouseover="doPlay()" onmouseout="doPlay()"&gt;外表涩苦但留醇香于舌尖&lt;/div&gt;
&lt;!-- Start FastOnlineUsers.com --&gt;
&lt;a href="http://www.fastonlineusers.com"&gt;&lt;script type="text/javascript" src="http://fastonlineusers.com/on4.php?d=http://www.blogjava.net/blackbat"&gt;&lt;/script&gt; online&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.blogjava.net/blackbat"&gt;Adult Dating&lt;/a&gt;
&lt;!-- End FastOnlineUsers.com --&gt;

&lt;/body&gt;
&lt;/html&gt;
</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 19:14:44 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 19:14:44 GMT</pubDate><ttl>60</ttl><item><title>搞定Inner Class（内部类）</title><link>http://www.blogjava.net/blackbat/archive/2006/10/04/73352.html</link><dc:creator>黑蝙蝠</dc:creator><author>黑蝙蝠</author><pubDate>Tue, 03 Oct 2006 18:04:00 GMT</pubDate><guid>http://www.blogjava.net/blackbat/archive/2006/10/04/73352.html</guid><wfw:comment>http://www.blogjava.net/blackbat/comments/73352.html</wfw:comment><comments>http://www.blogjava.net/blackbat/archive/2006/10/04/73352.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/blackbat/comments/commentRss/73352.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/blackbat/services/trackbacks/73352.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1												/**/										/*																										 2														 * 						 3														    内部类的种类，可细分为四种： 						 4														 1 类级别的 即用static修饰的内部类					...&nbsp;&nbsp;<a href='http://www.blogjava.net/blackbat/archive/2006/10/04/73352.html'>阅读全文</a><img src ="http://www.blogjava.net/blackbat/aggbug/73352.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/blackbat/" target="_blank">黑蝙蝠</a> 2006-10-04 02:04 <a href="http://www.blogjava.net/blackbat/archive/2006/10/04/73352.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Garbage Collection 垃圾回收机制基础</title><link>http://www.blogjava.net/blackbat/archive/2006/07/28/60444.html</link><dc:creator>黑蝙蝠</dc:creator><author>黑蝙蝠</author><pubDate>Thu, 27 Jul 2006 16:11:00 GMT</pubDate><guid>http://www.blogjava.net/blackbat/archive/2006/07/28/60444.html</guid><wfw:comment>http://www.blogjava.net/blackbat/comments/60444.html</wfw:comment><comments>http://www.blogjava.net/blackbat/archive/2006/07/28/60444.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/blackbat/comments/commentRss/60444.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/blackbat/services/trackbacks/60444.html</trackback:ping><description><![CDATA[
		<p>
				<br /> </p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<span style="COLOR: #008080"> 1</span>
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">static</span>
				<span style="COLOR: #000000"> java.lang.System.</span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000">;<br /></span>
				<span style="COLOR: #008080"> 2</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
				</span>
				<span style="COLOR: #008080"> 3</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> GCTest<br /></span>
				<span style="COLOR: #008080"> 4</span>
				<span style="COLOR: #000000">
						<img id="Codehighlighter1_55_956_Open_Image" onclick="this.style.display='none'; Codehighlighter1_55_956_Open_Text.style.display='none'; Codehighlighter1_55_956_Closed_Image.style.display='inline'; Codehighlighter1_55_956_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_55_956_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_55_956_Closed_Text.style.display='none'; Codehighlighter1_55_956_Open_Image.style.display='inline'; Codehighlighter1_55_956_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span id="Codehighlighter1_55_956_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.blogjava.net/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_55_956_Open_Text">
						<span style="COLOR: #000000">{<br /></span>
						<span style="COLOR: #008080"> 5</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_96_953_Open_Image" onclick="this.style.display='none'; Codehighlighter1_96_953_Open_Text.style.display='none'; Codehighlighter1_96_953_Closed_Image.style.display='inline'; Codehighlighter1_96_953_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_96_953_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_96_953_Closed_Text.style.display='none'; Codehighlighter1_96_953_Open_Image.style.display='inline'; Codehighlighter1_96_953_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">static</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> main(String args[])</span>
						<span id="Codehighlighter1_96_953_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_96_953_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080"> 6</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        <br /></span>
								<span style="COLOR: #008080"> 7</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">因为Runtime并没提供构造函数，它需保证每个应用程序在运行时只有一个Runtime对象。<br /></span>
								<span style="COLOR: #008080"> 8</span>
								<span style="COLOR: #008000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">所以用Runtime类提供的getRuntime()方法来获得惟一的Runtime对象。</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080"> 9</span>
								<span style="COLOR: #008000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        Runtime rt </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> Runtime.getRuntime();<br /></span>
								<span style="COLOR: #008080">10</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
										<br />
								</span>
								<span style="COLOR: #008080">11</span>
								<span style="COLOR: #000000">
										<img id="Codehighlighter1_241_331_Open_Image" onclick="this.style.display='none'; Codehighlighter1_241_331_Open_Text.style.display='none'; Codehighlighter1_241_331_Closed_Image.style.display='inline'; Codehighlighter1_241_331_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_241_331_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_241_331_Closed_Text.style.display='none'; Codehighlighter1_241_331_Open_Image.style.display='inline'; Codehighlighter1_241_331_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span id="Codehighlighter1_241_331_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span>
								<span id="Codehighlighter1_241_331_Open_Text">
										<span style="COLOR: #008000">/*</span>
										<span style="COLOR: #008000">
												<br />
										</span>
										<span style="COLOR: #008080">12</span>
										<span style="COLOR: #008000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        freeMemory():返回 Java 虚拟机中的空闲内存量,以字节为单位。<br /></span>
										<span style="COLOR: #008080">13</span>
										<span style="COLOR: #008000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        totalMemory():返回 Java 虚拟机中的内存总量,以字节为单位。<br /></span>
										<span style="COLOR: #008080">14</span>
										<span style="COLOR: #008000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        </span>
										<span style="COLOR: #008000">*/</span>
								</span>
								<span style="COLOR: #000000">
										<br />
								</span>
								<span style="COLOR: #008080">15</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        out.printf(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">程序开始<img src="http://www.blogjava.net/images/dot.gif" />%n</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /></span>
								<span style="COLOR: #008080">16</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        out.printf(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">剩余内存空间：%s。%n --- 总的内存空间：%s。%n</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">,rt.freeMemory(),rt.totalMemory());<br /></span>
								<span style="COLOR: #008080">17</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        out.printf(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">下面建立3个Bat对象：%n</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /></span>
								<span style="COLOR: #008080">18</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
										<br />
								</span>
								<span style="COLOR: #008080">19</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        Bat b1 </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> Bat(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">red</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /></span>
								<span style="COLOR: #008080">20</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        Bat b2 </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> Bat(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">white</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /></span>
								<span style="COLOR: #008080">21</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        Bat blackbat </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> Bat(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">black</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /></span>
								<span style="COLOR: #008080">22</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
										<br />
								</span>
								<span style="COLOR: #008080">23</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        out.printf(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">建立3个对象之后：%n</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /></span>
								<span style="COLOR: #008080">24</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        out.printf(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">剩余内存空间：%s。%n --- 总的内存空间：%s。%n</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">,rt.freeMemory(),rt.totalMemory());<br /></span>
								<span style="COLOR: #008080">25</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        out.printf(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">下面释放这3个对象，设置为null即可。%n</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /></span>
								<span style="COLOR: #008080">26</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
										<br />
								</span>
								<span style="COLOR: #008080">27</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        b1 </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">null</span>
								<span style="COLOR: #000000">;</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">取消该对象的引用，这样将会被回收。</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080">28</span>
								<span style="COLOR: #008000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        b2 </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">null</span>
								<span style="COLOR: #000000">;<br /></span>
								<span style="COLOR: #008080">29</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        blackbat </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">null</span>
								<span style="COLOR: #000000">;<br /></span>
								<span style="COLOR: #008080">30</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        <br /></span>
								<span style="COLOR: #008080">31</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">调用垃圾回收器 还可通过Runtime.getRuntime().gc()调用;</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080">32</span>
								<span style="COLOR: #008000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        System.gc();<br /></span>
								<span style="COLOR: #008080">33</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        out.printf(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">调用垃圾回收器之后：%n</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /></span>
								<span style="COLOR: #008080">34</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        out.printf(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">剩余内存空间：%s。%n --- 总的内存空间：%s。%n</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">,rt.freeMemory(),rt.totalMemory());<br /></span>
								<span style="COLOR: #008080">35</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
						</span>
						<span style="COLOR: #008080">36</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">37</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #008080">38</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
				</span>
				<span style="COLOR: #008080">39</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> Bat<br /></span>
				<span style="COLOR: #008080">40</span>
				<span style="COLOR: #000000">
						<img id="Codehighlighter1_969_1144_Open_Image" onclick="this.style.display='none'; Codehighlighter1_969_1144_Open_Text.style.display='none'; Codehighlighter1_969_1144_Closed_Image.style.display='inline'; Codehighlighter1_969_1144_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_969_1144_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_969_1144_Closed_Text.style.display='none'; Codehighlighter1_969_1144_Open_Image.style.display='inline'; Codehighlighter1_969_1144_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span id="Codehighlighter1_969_1144_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.blogjava.net/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_969_1144_Open_Text">
						<span style="COLOR: #000000">{<br /></span>
						<span style="COLOR: #008080">41</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    String color;<br /></span>
						<span style="COLOR: #008080">42</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_1011_1036_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1011_1036_Open_Text.style.display='none'; Codehighlighter1_1011_1036_Closed_Image.style.display='inline'; Codehighlighter1_1011_1036_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_1011_1036_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1011_1036_Closed_Text.style.display='none'; Codehighlighter1_1011_1036_Open_Image.style.display='inline'; Codehighlighter1_1011_1036_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> Bat(String color)</span>
						<span id="Codehighlighter1_1011_1036_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_1011_1036_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080">43</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">this</span>
								<span style="COLOR: #000000">.color </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> color;<br /></span>
								<span style="COLOR: #008080">44</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">    <br /></span>
						<span style="COLOR: #008080">45</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    <br /></span>
						<span style="COLOR: #008080">46</span>
						<span style="COLOR: #000000">
								<img id="Codehighlighter1_1064_1142_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1064_1142_Open_Text.style.display='none'; Codehighlighter1_1064_1142_Closed_Image.style.display='inline'; Codehighlighter1_1064_1142_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_1064_1142_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1064_1142_Closed_Text.style.display='none'; Codehighlighter1_1064_1142_Open_Image.style.display='inline'; Codehighlighter1_1064_1142_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> finalize()</span>
						<span id="Codehighlighter1_1064_1142_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_1064_1142_Open_Text">
								<span style="COLOR: #000000">{<br /></span>
								<span style="COLOR: #008080">47</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">GC会在对象被回收之前调用该方法，所以可通过该方法来确定对象回收的顺序。</span>
								<span style="COLOR: #008000">
										<br />
								</span>
								<span style="COLOR: #008080">48</span>
								<span style="COLOR: #008000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">            out.printf(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">清除%s蝙蝠。%n</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">,color);<br /></span>
								<span style="COLOR: #008080">49</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
						</span>
						<span style="COLOR: #008080">50</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #008080">51</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
				</span>
				<span style="COLOR: #008080">52</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000"> 以上程序在1.5 tiger中调试通过</span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #008080">53</span>
				<span style="COLOR: #008000">
						<img id="Codehighlighter1_1170_1470_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1170_1470_Open_Text.style.display='none'; Codehighlighter1_1170_1470_Closed_Image.style.display='inline'; Codehighlighter1_1170_1470_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_1170_1470_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1170_1470_Closed_Text.style.display='none'; Codehighlighter1_1170_1470_Open_Image.style.display='inline'; Codehighlighter1_1170_1470_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span id="Codehighlighter1_1170_1470_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span>
				<span id="Codehighlighter1_1170_1470_Open_Text">
						<span style="COLOR: #008000">/*</span>
						<span style="COLOR: #008000">执行结果：<br /></span>
						<span style="COLOR: #008080">54</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />---------- Run java ----------<br /></span>
						<span style="COLOR: #008080">55</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />程序开始<img src="http://www.blogjava.net/images/dot.gif" /><br /></span>
						<span style="COLOR: #008080">56</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />剩余内存空间：1589320。<br /></span>
						<span style="COLOR: #008080">57</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> --- 总的内存空间：2031616。<br /></span>
						<span style="COLOR: #008080">58</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />下面建立3个Bat对象：<br /></span>
						<span style="COLOR: #008080">59</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />建立3个对象之后：<br /></span>
						<span style="COLOR: #008080">60</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />剩余内存空间：1589320。<br /></span>
						<span style="COLOR: #008080">61</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> --- 总的内存空间：2031616。<br /></span>
						<span style="COLOR: #008080">62</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />下面释放这3个对象，设置为null即可。<br /></span>
						<span style="COLOR: #008080">63</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />清除black蝙蝠。<br /></span>
						<span style="COLOR: #008080">64</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />清除white蝙蝠。<br /></span>
						<span style="COLOR: #008080">65</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />清除red蝙蝠。<br /></span>
						<span style="COLOR: #008080">66</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />调用垃圾回收器之后：<br /></span>
						<span style="COLOR: #008080">67</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />剩余内存空间：1816552。<br /></span>
						<span style="COLOR: #008080">68</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> --- 总的内存空间：2031616。<br /></span>
						<span style="COLOR: #008080">69</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />Output completed (0 sec consumed) - Normal Termination<br /></span>
						<span style="COLOR: #008080">70</span>
						<span style="COLOR: #008000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />
						</span>
						<span style="COLOR: #008000">*/</span>
				</span>
		</div>
		<font face="Courier New">
				<font style="BACKGROUND-COLOR: #d3d3d3">总结：java中可通过调用垃圾回收器来回收不使用用的对象，但这里的调用仅仅是通知，gc不一定会马上执行清理工作。<br />调用方法：<br />Runtime.getRuntime().gc();<br />System.gc();<br />finalize()方法会在对象被回收前调用，因此可通过该方法来确定对象回收的顺序。</font>
				<br />@ Author 黑蝙蝠  <a href="/blackbat">http://www.blogjava.net/blackbat</a>  2006-7-28</font>
<img src ="http://www.blogjava.net/blackbat/aggbug/60444.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/blackbat/" target="_blank">黑蝙蝠</a> 2006-07-28 00:11 <a href="http://www.blogjava.net/blackbat/archive/2006/07/28/60444.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>再次学习java面向对象</title><link>http://www.blogjava.net/blackbat/archive/2006/07/24/blackbat.html</link><dc:creator>黑蝙蝠</dc:creator><author>黑蝙蝠</author><pubDate>Mon, 24 Jul 2006 10:31:00 GMT</pubDate><guid>http://www.blogjava.net/blackbat/archive/2006/07/24/blackbat.html</guid><wfw:comment>http://www.blogjava.net/blackbat/comments/59867.html</wfw:comment><comments>http://www.blogjava.net/blackbat/archive/2006/07/24/blackbat.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/blackbat/comments/commentRss/59867.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/blackbat/services/trackbacks/59867.html</trackback:ping><description><![CDATA[
		<p>        <font face="Arial" color="#0000ff">炎热的夏天，玩了大半个月，心里满愧疚的，所以打算不在放纵自己，认真地学习java。<br />这次复习了java的面向对象机制，主要内容有强制转型(casting)和自动转型(promotion)，以及覆盖（override）的2中区别，变量覆盖和方法覆盖。下面看例子啊：<br /></font></p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">static</span>
				<span style="COLOR: #000000"> java.lang.System.</span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img id="Codehighlighter1_44_329_Open_Image" onclick="this.style.display='none'; Codehighlighter1_44_329_Open_Text.style.display='none'; Codehighlighter1_44_329_Closed_Image.style.display='inline'; Codehighlighter1_44_329_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_44_329_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_44_329_Closed_Text.style.display='none'; Codehighlighter1_44_329_Open_Image.style.display='inline'; Codehighlighter1_44_329_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> Bat</span>
				<span id="Codehighlighter1_44_329_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.blogjava.net/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_44_329_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> wing;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">private</span>
						<span style="COLOR: #000000"> String color;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img id="Codehighlighter1_94_127_Open_Image" onclick="this.style.display='none'; Codehighlighter1_94_127_Open_Text.style.display='none'; Codehighlighter1_94_127_Closed_Image.style.display='inline'; Codehighlighter1_94_127_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_94_127_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_94_127_Closed_Text.style.display='none'; Codehighlighter1_94_127_Open_Image.style.display='inline'; Codehighlighter1_94_127_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> Bat()</span>
						<span id="Codehighlighter1_94_127_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_94_127_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        wing </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">2</span>
								<span style="COLOR: #000000"> ;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        color </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">red</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
								<img id="Codehighlighter1_150_209_Open_Image" onclick="this.style.display='none'; Codehighlighter1_150_209_Open_Text.style.display='none'; Codehighlighter1_150_209_Closed_Image.style.display='inline'; Codehighlighter1_150_209_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_150_209_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_150_209_Closed_Text.style.display='none'; Codehighlighter1_150_209_Open_Image.style.display='inline'; Codehighlighter1_150_209_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> sayHi()</span>
						<span id="Codehighlighter1_150_209_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_150_209_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">Hi ,Bat you have</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">+</span>
								<span style="COLOR: #000000">wing</span>
								<span style="COLOR: #000000">+</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000"> wings</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
								<img id="Codehighlighter1_234_279_Open_Image" onclick="this.style.display='none'; Codehighlighter1_234_279_Open_Text.style.display='none'; Codehighlighter1_234_279_Closed_Image.style.display='inline'; Codehighlighter1_234_279_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_234_279_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_234_279_Closed_Text.style.display='none'; Codehighlighter1_234_279_Open_Image.style.display='inline'; Codehighlighter1_234_279_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> sayWhat()</span>
						<span id="Codehighlighter1_234_279_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_234_279_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">What will i say?</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
								<img id="Codehighlighter1_307_326_Open_Image" onclick="this.style.display='none'; Codehighlighter1_307_326_Open_Text.style.display='none'; Codehighlighter1_307_326_Closed_Image.style.display='inline'; Codehighlighter1_307_326_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_307_326_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_307_326_Closed_Text.style.display='none'; Codehighlighter1_307_326_Open_Image.style.display='inline'; Codehighlighter1_307_326_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> String getColor()</span>
						<span id="Codehighlighter1_307_326_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_307_326_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> color;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img id="Codehighlighter1_358_725_Open_Image" onclick="this.style.display='none'; Codehighlighter1_358_725_Open_Text.style.display='none'; Codehighlighter1_358_725_Closed_Image.style.display='inline'; Codehighlighter1_358_725_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_358_725_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_358_725_Closed_Text.style.display='none'; Codehighlighter1_358_725_Open_Image.style.display='inline'; Codehighlighter1_358_725_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> BlackBat </span>
				<span style="COLOR: #0000ff">extends</span>
				<span style="COLOR: #000000"> Bat</span>
				<span id="Codehighlighter1_358_725_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.blogjava.net/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_358_725_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> wing;</span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">遮蔽了超类中的2个变量</span>
						<span style="COLOR: #008000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    </span>
						<span style="COLOR: #0000ff">private</span>
						<span style="COLOR: #000000"> String color;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img id="Codehighlighter1_428_462_Open_Image" onclick="this.style.display='none'; Codehighlighter1_428_462_Open_Text.style.display='none'; Codehighlighter1_428_462_Closed_Image.style.display='inline'; Codehighlighter1_428_462_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_428_462_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_428_462_Closed_Text.style.display='none'; Codehighlighter1_428_462_Open_Image.style.display='inline'; Codehighlighter1_428_462_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> BlackBat()</span>
						<span id="Codehighlighter1_428_462_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_428_462_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        wing </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">4</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        color </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">Black</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">    <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        <br /><img id="Codehighlighter1_488_546_Open_Image" onclick="this.style.display='none'; Codehighlighter1_488_546_Open_Text.style.display='none'; Codehighlighter1_488_546_Closed_Image.style.display='inline'; Codehighlighter1_488_546_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_488_546_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_488_546_Closed_Text.style.display='none'; Codehighlighter1_488_546_Open_Image.style.display='inline'; Codehighlighter1_488_546_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> sayHi()</span>
						<span id="Codehighlighter1_488_546_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_488_546_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">Hi ,Bat you have 4 wings</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">+</span>
								<span style="COLOR: #000000">wing);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">    <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img id="Codehighlighter1_572_623_Open_Image" onclick="this.style.display='none'; Codehighlighter1_572_623_Open_Text.style.display='none'; Codehighlighter1_572_623_Closed_Image.style.display='inline'; Codehighlighter1_572_623_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_572_623_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_572_623_Closed_Text.style.display='none'; Codehighlighter1_572_623_Open_Image.style.display='inline'; Codehighlighter1_572_623_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> getName()</span>
						<span id="Codehighlighter1_572_623_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_572_623_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">My Name is BlackBat</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> 去掉前面的注释符号 那么就改写了父类的方法 返回的是自己的颜色 即Black<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">public String getColor(){<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">    return color;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">}</span>
						<span style="COLOR: #008000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img id="Codehighlighter1_747_1608_Open_Image" onclick="this.style.display='none'; Codehighlighter1_747_1608_Open_Text.style.display='none'; Codehighlighter1_747_1608_Closed_Image.style.display='inline'; Codehighlighter1_747_1608_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_747_1608_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_747_1608_Closed_Text.style.display='none'; Codehighlighter1_747_1608_Open_Image.style.display='inline'; Codehighlighter1_747_1608_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> TestAB</span>
				<span id="Codehighlighter1_747_1608_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.blogjava.net/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_747_1608_Open_Text">
						<span style="COLOR: #000000">{<br /><img id="Codehighlighter1_789_1606_Open_Image" onclick="this.style.display='none'; Codehighlighter1_789_1606_Open_Text.style.display='none'; Codehighlighter1_789_1606_Closed_Image.style.display='inline'; Codehighlighter1_789_1606_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_789_1606_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_789_1606_Closed_Text.style.display='none'; Codehighlighter1_789_1606_Open_Image.style.display='inline'; Codehighlighter1_789_1606_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">static</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> main(String[] args) </span>
						<span id="Codehighlighter1_789_1606_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_789_1606_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        Bat x </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> Bat();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        BlackBat y </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> BlackBat();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        x.sayHi();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        y.sayHi();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">I'm Bat ,my color is </span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">+</span>
								<span style="COLOR: #000000">x.getColor());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">I'm BlackBat ,my color is </span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">+</span>
								<span style="COLOR: #000000">y.getColor());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">这里调用的依然是父类的方法，返回为red，因为子类中并未改写该方法，虽然它遮蔽了color变量<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">如果把BlackBat 中getColor() 的注释去掉 就会显示的是Black<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000"> tiger中 实现和c语言类似的输出语句。</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        out.printf(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">I'm BlackBat , my color is %s .%n</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">,y.getColor());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">Yes , I am from super</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">+</span>
								<span style="COLOR: #000000">((Bat)y).wing</span>
								<span style="COLOR: #000000">+</span>
								<span style="COLOR: #000000">x.getColor());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">和方法不同的是：强制转换可访问父类的变量</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        ((Bat)y).sayHi();</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">这里虽然强制转换为父类 但是还是调用的子类的。强制转换也不能访问</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        Bat z </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> BlackBat();</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">自动转型 子类转换为超类    <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">z.getName();</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">子类中虽然有这个方法 但是转型为超类后 超类中并没这个方法 cannot find symbol</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">    <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        ((BlackBat)z).getName();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">这样就对了，强制转换为子类，这种转换通常成为窄转换，即父类向子类的转换。</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        z.sayHi();</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">因为超类中的方法被改写 所以调用的也是子类的方法</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        z.sayWhat();</span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">超类中的方法未被改写 所以还是调用超类中的方法</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />
								</span>
								<span style="COLOR: #000000">    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
		</div>
		<p>
				<font style="BACKGROUND-COLOR: #d3d3d3">总结：子类向父类类型的转换属于 自动类型转换<br />            父类向子类类型的转换属于 强制类型转换<br />            覆盖：分为变量覆盖和方法覆盖，如果父类变量被覆盖后，可通过强制转换成父类来访问父类的变量，还可通过super.变量名来访问。而父类的方法被覆盖后，只能通过super.方法名()来访问，不能像变量那样通过强制转换来访问父类的方法。</font>
				<br />
				<br />
				<font color="#000000">@ Author 黑蝙蝠</font>
				<a href="/blackbat">http://www.blogjava.net/blackbat</a>
		</p>
<img src ="http://www.blogjava.net/blackbat/aggbug/59867.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/blackbat/" target="_blank">黑蝙蝠</a> 2006-07-24 18:31 <a href="http://www.blogjava.net/blackbat/archive/2006/07/24/blackbat.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>