﻿<?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-Ericzhang5231-文章分类-ThinkingInJava</title><link>http://www.blogjava.net/Ericzhang5231/category/23998.html</link><description /><language>zh-cn</language><lastBuildDate>Sat, 21 Jul 2007 12:28:11 GMT</lastBuildDate><pubDate>Sat, 21 Jul 2007 12:28:11 GMT</pubDate><ttl>60</ttl><item><title>第十章 内部类</title><link>http://www.blogjava.net/Ericzhang5231/articles/130771.html</link><dc:creator>Eric5231</dc:creator><author>Eric5231</author><pubDate>Tue, 17 Jul 2007 03:18:00 GMT</pubDate><guid>http://www.blogjava.net/Ericzhang5231/articles/130771.html</guid><wfw:comment>http://www.blogjava.net/Ericzhang5231/comments/130771.html</wfw:comment><comments>http://www.blogjava.net/Ericzhang5231/articles/130771.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Ericzhang5231/comments/commentRss/130771.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Ericzhang5231/services/trackbacks/130771.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &#160;class&nbsp;Egg{&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;Yolk&nbsp;y;&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;class&nbsp;Yolk{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;Yolk(){&nbsp;...&nbsp;&nbsp;<a href='http://www.blogjava.net/Ericzhang5231/articles/130771.html'>阅读全文</a><img src ="http://www.blogjava.net/Ericzhang5231/aggbug/130771.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Ericzhang5231/" target="_blank">Eric5231</a> 2007-07-17 11:18 <a href="http://www.blogjava.net/Ericzhang5231/articles/130771.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>接口之完全解耦</title><link>http://www.blogjava.net/Ericzhang5231/articles/129901.html</link><dc:creator>Eric5231</dc:creator><author>Eric5231</author><pubDate>Thu, 12 Jul 2007 11:23:00 GMT</pubDate><guid>http://www.blogjava.net/Ericzhang5231/articles/129901.html</guid><wfw:comment>http://www.blogjava.net/Ericzhang5231/comments/129901.html</wfw:comment><comments>http://www.blogjava.net/Ericzhang5231/articles/129901.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Ericzhang5231/comments/commentRss/129901.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Ericzhang5231/services/trackbacks/129901.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 只要一个方法操作的是类而非接口，那么你就只能使用这个类及其子类。如果你想要将这个方法应用于不在此继承结构中的某个类，那么你就会倒大霉了。接口可以在很大程序上放宽这种限制，因此它使得我们可以编写可复用性更好的代码首先看，通过类的继承实现的一个程序class&nbsp;Processor{&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;String&nbsp;name(){...&nbsp;&nbsp;<a href='http://www.blogjava.net/Ericzhang5231/articles/129901.html'>阅读全文</a><img src ="http://www.blogjava.net/Ericzhang5231/aggbug/129901.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Ericzhang5231/" target="_blank">Eric5231</a> 2007-07-12 19:23 <a href="http://www.blogjava.net/Ericzhang5231/articles/129901.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>第五章 初始化与清理</title><link>http://www.blogjava.net/Ericzhang5231/articles/129636.html</link><dc:creator>Eric5231</dc:creator><author>Eric5231</author><pubDate>Wed, 11 Jul 2007 08:07:00 GMT</pubDate><guid>http://www.blogjava.net/Ericzhang5231/articles/129636.html</guid><wfw:comment>http://www.blogjava.net/Ericzhang5231/comments/129636.html</wfw:comment><comments>http://www.blogjava.net/Ericzhang5231/articles/129636.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Ericzhang5231/comments/commentRss/129636.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Ericzhang5231/services/trackbacks/129636.html</trackback:ping><description><![CDATA[1）类成员的初始化<br>
<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 id=Codehighlighter1_10_141_Open_Image onclick="this.style.display='none'; Codehighlighter1_10_141_Open_Text.style.display='none'; Codehighlighter1_10_141_Closed_Image.style.display='inline'; Codehighlighter1_10_141_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_10_141_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_10_141_Closed_Text.style.display='none'; Codehighlighter1_10_141_Open_Image.style.display='inline'; Codehighlighter1_10_141_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Bowl</span><span id=Codehighlighter1_10_141_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_10_141_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_29_74_Open_Image onclick="this.style.display='none'; Codehighlighter1_29_74_Open_Text.style.display='none'; Codehighlighter1_29_74_Closed_Image.style.display='inline'; Codehighlighter1_29_74_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_29_74_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_29_74_Closed_Text.style.display='none'; Codehighlighter1_29_74_Open_Image.style.display='inline'; Codehighlighter1_29_74_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Bowl(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;marker)</span><span id=Codehighlighter1_29_74_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_29_74_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Bowl(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">marker</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_96_139_Open_Image onclick="this.style.display='none'; Codehighlighter1_96_139_Open_Text.style.display='none'; Codehighlighter1_96_139_Closed_Image.style.display='inline'; Codehighlighter1_96_139_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_96_139_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_96_139_Closed_Text.style.display='none'; Codehighlighter1_96_139_Open_Image.style.display='inline'; Codehighlighter1_96_139_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;f1(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;marker)</span><span id=Codehighlighter1_96_139_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_139_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">f1(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">marker</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></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></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">检查static成员位置与被调用的顺序的关系</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_179_414_Open_Image onclick="this.style.display='none'; Codehighlighter1_179_414_Open_Text.style.display='none'; Codehighlighter1_179_414_Closed_Image.style.display='inline'; Codehighlighter1_179_414_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_179_414_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_179_414_Closed_Text.style.display='none'; Codehighlighter1_179_414_Open_Image.style.display='inline'; Codehighlighter1_179_414_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">&nbsp;Table</span><span id=Codehighlighter1_179_414_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_179_414_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;Bowl&nbsp;bowl1&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Bowl(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">before&nbsp;constructor</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_243_294_Open_Image onclick="this.style.display='none'; Codehighlighter1_243_294_Open_Text.style.display='none'; Codehighlighter1_243_294_Closed_Image.style.display='inline'; Codehighlighter1_243_294_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_243_294_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_243_294_Closed_Text.style.display='none'; Codehighlighter1_243_294_Open_Image.style.display='inline'; Codehighlighter1_243_294_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;Table()</span><span id=Codehighlighter1_243_294_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_243_294_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Table()</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bowl2.f1(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_316_359_Open_Image onclick="this.style.display='none'; Codehighlighter1_316_359_Open_Text.style.display='none'; Codehighlighter1_316_359_Closed_Image.style.display='inline'; Codehighlighter1_316_359_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_316_359_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_316_359_Closed_Text.style.display='none'; Codehighlighter1_316_359_Open_Image.style.display='inline'; Codehighlighter1_316_359_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;f2(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;marker)</span><span id=Codehighlighter1_316_359_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_316_359_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">f2(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">marker</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;Bowl&nbsp;bowl2&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Bowl(</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">after&nbsp;constructor</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">检查static和normal成员位置与被调用的顺序关系</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_462_748_Open_Image onclick="this.style.display='none'; Codehighlighter1_462_748_Open_Text.style.display='none'; Codehighlighter1_462_748_Closed_Image.style.display='inline'; Codehighlighter1_462_748_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_462_748_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_462_748_Closed_Text.style.display='none'; Codehighlighter1_462_748_Open_Image.style.display='inline'; Codehighlighter1_462_748_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">&nbsp;Cupboard&nbsp;</span><span id=Codehighlighter1_462_748_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_462_748_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Bowl&nbsp;bowl3&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Bowl(</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;normal&nbsp;field</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;Bowl&nbsp;bowl4&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Bowl(</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">);&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">static&nbsp;field</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_573_627_Open_Image onclick="this.style.display='none'; Codehighlighter1_573_627_Open_Text.style.display='none'; Codehighlighter1_573_627_Closed_Image.style.display='inline'; Codehighlighter1_573_627_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_573_627_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_573_627_Closed_Text.style.display='none'; Codehighlighter1_573_627_Open_Image.style.display='inline'; Codehighlighter1_573_627_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;Cupboard()</span><span id=Codehighlighter1_573_627_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_573_627_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">cupboard()</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bowl4.f1(</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_649_692_Open_Image onclick="this.style.display='none'; Codehighlighter1_649_692_Open_Text.style.display='none'; Codehighlighter1_649_692_Closed_Image.style.display='inline'; Codehighlighter1_649_692_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_649_692_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_649_692_Closed_Text.style.display='none'; Codehighlighter1_649_692_Open_Image.style.display='inline'; Codehighlighter1_649_692_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;f3(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;marker)</span><span id=Codehighlighter1_649_692_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_649_692_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">f3(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">marker</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;Bowl&nbsp;bowl5&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Bowl(</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">);&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">after&nbsp;constructor</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">检查static与main函数之间被调用顺序的关系</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_811_1122_Open_Image onclick="this.style.display='none'; Codehighlighter1_811_1122_Open_Text.style.display='none'; Codehighlighter1_811_1122_Closed_Image.style.display='inline'; Codehighlighter1_811_1122_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_811_1122_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_811_1122_Closed_Text.style.display='none'; Codehighlighter1_811_1122_Open_Image.style.display='inline'; Codehighlighter1_811_1122_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">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;ClassInitialization&nbsp;</span><span id=Codehighlighter1_811_1122_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_811_1122_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_853_1041_Open_Image onclick="this.style.display='none'; Codehighlighter1_853_1041_Open_Text.style.display='none'; Codehighlighter1_853_1041_Closed_Image.style.display='inline'; Codehighlighter1_853_1041_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_853_1041_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_853_1041_Closed_Text.style.display='none'; Codehighlighter1_853_1041_Open_Image.style.display='inline'; Codehighlighter1_853_1041_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;main(String[]&nbsp;args)&nbsp;</span><span id=Codehighlighter1_853_1041_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_853_1041_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Creating&nbsp;new&nbsp;Cupboard()&nbsp;in&nbsp;main</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Cupboard();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Creating&nbsp;new&nbsp;Cupboard()in&nbsp;main</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Cupboard();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;table.f2(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cupboard.f3(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;Table&nbsp;table&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Table();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;Cupboard&nbsp;cupboard&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Cupboard();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}<br>//output<br>Bowl(1)<br>Bowl(2)<br>Table()<br>f1(1)<br>Bowl(4)<br>Bowl(5)<br>Bowl(3)<br>cupboard()<br>f1(2)<br>Creating new Cupboard() in main<br>Bowl(3)<br>cupboard()<br>f1(2)<br>Creating new Cupboard()in main<br>Bowl(3)<br>cupboard()<br>f1(2)<br>f2(1)<br>f3(1)</span></span></div>
&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1. 当首次构建ClassInitialization的对象时（构造器也看成静态方法），或者类的静态方法/静态域首次被访问时，Java解释器必须查找类路径，以定位ClassInitialization.class<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2. 然后载入class文件，有关静态的初始化都会被执行，而且只能在首次加载的时候进行一次。在例子中由于静态成员Cupboard已经加载了bowl4和bowl5，因此在重新new Cupboard的时候只有Bowl3被加载<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3. 静态的初始化顺序是按出现顺序执行的，因此在例子输出结果中Bowl（1）在Bowl（2）之前，Bowl（4）在Bowl（5）之前<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4. 当用new 创建对象的时候，首先将在堆上为对象分配足够的存储空间<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5. 这块存储空间会被清零，即自动地把对象中的所有基本类型数据都设置成了默认值，而引用则被设置成了null。例子中的bowl3会先被设置成null（也就是说非static的成员初始化都是在static之后的，因此Bowl（3）在Bowl（4）和Bowl（5）之后）<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6. 编译器会检查该类是不是extends于基类，如果是则载入基类。到了基类后，加载顺序和1-7一样<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7. 执行所有出现于字段定义处的初始化动作。例中bowl3被赋予指向Bowl3对象的引用<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8. 执行构造器。
<img src ="http://www.blogjava.net/Ericzhang5231/aggbug/129636.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Ericzhang5231/" target="_blank">Eric5231</a> 2007-07-11 16:07 <a href="http://www.blogjava.net/Ericzhang5231/articles/129636.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>第八章 多态</title><link>http://www.blogjava.net/Ericzhang5231/articles/129602.html</link><dc:creator>Eric5231</dc:creator><author>Eric5231</author><pubDate>Wed, 11 Jul 2007 05:53:00 GMT</pubDate><guid>http://www.blogjava.net/Ericzhang5231/articles/129602.html</guid><wfw:comment>http://www.blogjava.net/Ericzhang5231/comments/129602.html</wfw:comment><comments>http://www.blogjava.net/Ericzhang5231/articles/129602.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Ericzhang5231/comments/commentRss/129602.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Ericzhang5231/services/trackbacks/129602.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1）利用多态实现向上转型upcase中的方法和域问题    一般的多态中的方法 &nbsp;class&nbsp;Super&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;sayHello(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print...&nbsp;&nbsp;<a href='http://www.blogjava.net/Ericzhang5231/articles/129602.html'>阅读全文</a><img src ="http://www.blogjava.net/Ericzhang5231/aggbug/129602.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Ericzhang5231/" target="_blank">Eric5231</a> 2007-07-11 13:53 <a href="http://www.blogjava.net/Ericzhang5231/articles/129602.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>第二章 一切都是对象</title><link>http://www.blogjava.net/Ericzhang5231/articles/129476.html</link><dc:creator>Eric5231</dc:creator><author>Eric5231</author><pubDate>Tue, 10 Jul 2007 16:27:00 GMT</pubDate><guid>http://www.blogjava.net/Ericzhang5231/articles/129476.html</guid><wfw:comment>http://www.blogjava.net/Ericzhang5231/comments/129476.html</wfw:comment><comments>http://www.blogjava.net/Ericzhang5231/articles/129476.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Ericzhang5231/comments/commentRss/129476.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Ericzhang5231/services/trackbacks/129476.html</trackback:ping><description><![CDATA[<p>1）Java程序运行时，对象是怎么进行安排放置的，内存是怎么分配？Eckel在Thinking in java中对五个不同的存储数据的地方进行了简要的介绍：</p>
<p>a. 寄存器。最快的存储区（位于处理器内部），在Java里面，你不能直接控制，也不能在程序中感觉到寄存器的存在，可能是出于安全原因的考虑吧（C和C＋＋允许编译器建议寄存器的分配方式）；</p>
<p>b. 堆栈。位于通用RAM，随即访问存储器中，但通过堆栈指针可以从处理器那里获得直接支持。由于仅通过指针的上下移动即可控制内存，所以速度上仅次与寄存器&nbsp;。然而Java系统需要知道存储在堆栈的所有项的生命周期，所以灵活性不高。因此一般只存储对象的引用，而不直接存储对象（基本类型一般也存放在这里的）</p>
<p>c. 堆。通用的内存池，也位于RAM。一般存放所有对象。堆是不用知道存储的数据的存活时间的，当需要一个对象的时候，通过new即可在堆里进行存储分配，这多少导致在清理堆的数据的不灵活性（基本类型的包装器类存储在堆中，也就是它是靠引用而&#8220;存活&#8221;的）</p>
<p>d. 常量存储。常量值通常直接存放在程序代码内部。在必要的情况下，可以选择将其放在ROM中（字符串池正是这样的一个例子）</p>
<p>e. 非RAM存储。放在非RAM存储中目的主要是为了让数据存活在程序之外，其中两个基本的例子是流对象和持久化对象</p>
<p>&nbsp;</p>
<p>2）在Java中，所有数值类型都有正负号，所以不要寻找无符号的数值类型；</p>
<p>3）boolean类型所占存储空间的大小没有明确指定，仅定义为能够取字面值true或false；</p>
<p>4）JavaSE5 自动包装功能将自动将基本类型转换为包装器类型：</p>
<p>Character ch = 'x';</p>
<p>并可以方向转换， char c = ch;</p>
<p>5）Java不允许重复定义相同名字的基本类型(C/C＋＋可以)</p>
<p>&nbsp;</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 id=Codehighlighter1_0_63_Open_Image onclick="this.style.display='none'; Codehighlighter1_0_63_Open_Text.style.display='none'; Codehighlighter1_0_63_Closed_Image.style.display='inline'; Codehighlighter1_0_63_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_0_63_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_0_63_Closed_Text.style.display='none'; Codehighlighter1_0_63_Open_Image.style.display='inline'; Codehighlighter1_0_63_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top><span id=Codehighlighter1_0_63_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_0_63_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;x&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">;<br><img id=Codehighlighter1_23_61_Open_Image onclick="this.style.display='none'; Codehighlighter1_23_61_Open_Text.style.display='none'; Codehighlighter1_23_61_Closed_Image.style.display='inline'; Codehighlighter1_23_61_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_23_61_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_23_61_Closed_Text.style.display='none'; Codehighlighter1_23_61_Open_Image.style.display='inline'; Codehighlighter1_23_61_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_23_61_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_23_61_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;x&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Illegal</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></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></span></div>
<p>&nbsp;</p>
<p>6）基本类型的作用域和对象的作用域都受限于花括号&#8220;{}&#8221;，一旦超出它们所在的花括号，那它们就消失了。但基本类型的消失是指在堆栈中的内存被收回，而对象的消失只是在堆栈中的存放对象引用的内存被收回，但其对象（堆中的）还存活，除非立刻通过垃圾回收机制回收了。这样的设计有利于字符串池的实现</p>
<p>7）若类的某个成员是基本数据类型，即使没有进行初始化，也会获得一个默认值。然而对于&#8220;局部&#8221;变量，即并非某个类的字段，比如在某个方法在定义的，如果没有进行初始化，Java系统在编译的时候会报错的。</p>
<img src ="http://www.blogjava.net/Ericzhang5231/aggbug/129476.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Ericzhang5231/" target="_blank">Eric5231</a> 2007-07-11 00:27 <a href="http://www.blogjava.net/Ericzhang5231/articles/129476.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>第七章 复用类</title><link>http://www.blogjava.net/Ericzhang5231/articles/129469.html</link><dc:creator>Eric5231</dc:creator><author>Eric5231</author><pubDate>Tue, 10 Jul 2007 15:39:00 GMT</pubDate><guid>http://www.blogjava.net/Ericzhang5231/articles/129469.html</guid><wfw:comment>http://www.blogjava.net/Ericzhang5231/comments/129469.html</wfw:comment><comments>http://www.blogjava.net/Ericzhang5231/articles/129469.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Ericzhang5231/comments/commentRss/129469.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Ericzhang5231/services/trackbacks/129469.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1） 惰性初始化。就是在正要使用这些对象之前，对对象进行初始化的方法。这种方式可以减少额外的负担；&nbsp;public&nbsp;class&nbsp;Bath{&nbsp;&nbsp;&nbsp;private&nbsp;String&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s1&nbsp;=&nbsp;"Happy",&nbsp;&nbsp;&nbsp...&nbsp;&nbsp;<a href='http://www.blogjava.net/Ericzhang5231/articles/129469.html'>阅读全文</a><img src ="http://www.blogjava.net/Ericzhang5231/aggbug/129469.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Ericzhang5231/" target="_blank">Eric5231</a> 2007-07-10 23:39 <a href="http://www.blogjava.net/Ericzhang5231/articles/129469.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>