﻿<?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>IT博客网-lzzzing学习笔记</title><link>http://www.cnitblog.com/lzzzing/</link><description>正在学的和想要学的</description><language>zh-cn</language><lastBuildDate>Mon, 08 Sep 2008 04:27:36 GMT</lastBuildDate><pubDate>Mon, 08 Sep 2008 04:27:36 GMT</pubDate><ttl>60</ttl><item><title>Java回调机制</title><link>http://www.cnitblog.com/lzzzing/archive/2008/05/15/43786.html</link><dc:creator>lzzzing</dc:creator><author>lzzzing</author><pubDate>Thu, 15 May 2008 14:16:00 GMT</pubDate><guid>http://www.cnitblog.com/lzzzing/archive/2008/05/15/43786.html</guid><wfw:comment>http://www.cnitblog.com/lzzzing/comments/43786.html</wfw:comment><comments>http://www.cnitblog.com/lzzzing/archive/2008/05/15/43786.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/lzzzing/comments/commentRss/43786.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/lzzzing/services/trackbacks/43786.html</trackback:ping><description><![CDATA[<p>其技巧就是：定义一个简单接口，并在该接口中声明我们要调用的方法。</p>
<p>下面举一个例子：</p>
<p>假定我们希望在某个事件发生时得到通知。我们可以定义一个接口：</p>
<p>/*<br>&nbsp;* 在某个事件发生时得到通知．<br>&nbsp;*/<br>public interface InterestingEvent {<br>　　&nbsp;public void interestingEvent();<br>}</p>
<p>此接口中的方法，是个没有返回值的也没有任何参数，如果您愿意也可以有返回值，也可以带参数．这就要看具体需求而定．</p>
<p>这使得我们可以控制实现该接口的类的任何对象。因此，我们不必关心任何外部类型信息。与在将 C++ 代码用于Motif 时使用窗口小部件的数据域来容纳对象指针的难以控制的 C 函数相比，这种方法要好得多。</p>
<p>实现接口的代码如下：</p>
<p>public class CallMe implements InterestingEvent {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public CallMe() {<br>　　&nbsp;}</p>
<p>　　&nbsp;public void interestingEvent() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;　　 System.out.println("发生了打印事件，哈哈"); <br>&nbsp;　　}</p>
<p>}</p>
<p>public class CallYou implements InterestingEvent {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public CallYou() {<br>&nbsp;&nbsp;　&nbsp;}</p>
<p>&nbsp;public void interestingEvent() {<br>&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("发生了查询事件，哈哈"); <br>&nbsp;}</p>
<p>}</p>
<p>发出事件信号的类必须等待实现了 InterestingEvent 接口的对象，并在适当时候调用 interestingEvent() 方法。</p>
<p>public class EventNotifier {<br>&nbsp;private InterestingEvent ie;<br>&nbsp;private boolean somethingHappened ;<br>&nbsp;public EventNotifier() {<br>&nbsp;&nbsp;somethingHappened = true ;<br>&nbsp;}<br>&nbsp;public void setInterestingEvent(InterestingEvent ie){<br>&nbsp;&nbsp;this.ie = ie ;<br>&nbsp;}<br>&nbsp;public void doWork(){<br>&nbsp;&nbsp;if(somethingHappened){<br>&nbsp;&nbsp;&nbsp;ie.interestingEvent();<br>&nbsp;&nbsp;}<br>&nbsp;}<br>&nbsp;<br>}</p>
<p>下面做一下测试．</p>
<p>public class Test {</p>
<p>&nbsp;/**<br>&nbsp; * @param args<br>&nbsp; */<br>&nbsp;public static void main(String[] args) {<br>&nbsp;&nbsp;CallMe cm = new CallMe();<br>&nbsp;&nbsp;CallYou cy = new CallYou();<br>&nbsp;&nbsp;EventNotifier en = new EventNotifier();</p>
<p>&nbsp;&nbsp;en.setInterestingEvent(cm);<br>&nbsp;&nbsp;en.doWork();<br>&nbsp;&nbsp;en.setInterestingEvent(cy);<br>&nbsp;&nbsp;en.doWork();<br>&nbsp;}</p>
<p>}</p>
<p>此测试在发生指定的调用CalMe事件时，就扫行CallMe下的命令，如发生CallYou事件时，就调用CallYou下的命令．此种方法可以结合Command模式．实现MS-Windows 和 X Window System 事件驱动编程模型．</p>
<img src ="http://www.cnitblog.com/lzzzing/aggbug/43786.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/lzzzing/" target="_blank">lzzzing</a> 2008-05-15 22:16 <a href="http://www.cnitblog.com/lzzzing/archive/2008/05/15/43786.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>回调函数的用法</title><link>http://www.cnitblog.com/lzzzing/archive/2008/05/15/43785.html</link><dc:creator>lzzzing</dc:creator><author>lzzzing</author><pubDate>Thu, 15 May 2008 14:12:00 GMT</pubDate><guid>http://www.cnitblog.com/lzzzing/archive/2008/05/15/43785.html</guid><wfw:comment>http://www.cnitblog.com/lzzzing/comments/43785.html</wfw:comment><comments>http://www.cnitblog.com/lzzzing/archive/2008/05/15/43785.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/lzzzing/comments/commentRss/43785.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/lzzzing/services/trackbacks/43785.html</trackback:ping><description><![CDATA[在要调用回调函数的类中声明： <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"><span style="COLOR: #008080">&nbsp;1</span><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">CallFun.h&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">返回类型为void,&nbsp;参数类型为std::string&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #008000"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">typedef&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">PCALLBACKFunc)&nbsp;(std::</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;);&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;<br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img id=Codehighlighter1_110_268_Open_Image onclick="this.style.display='none'; Codehighlighter1_110_268_Open_Text.style.display='none'; Codehighlighter1_110_268_Closed_Image.style.display='inline'; Codehighlighter1_110_268_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_110_268_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_110_268_Closed_Text.style.display='none'; Codehighlighter1_110_268_Open_Image.style.display='inline'; Codehighlighter1_110_268_Open_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;CallFun</span><span id=Codehighlighter1_110_268_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.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_110_268_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">:&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;PCALLBACKFunc&nbsp;m_pCallBack;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #000000"><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;setCallBack(PCALLBACKFunc&nbsp;Func);&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;runCallBack(std::</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;strMsg);&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">&nbsp;&nbsp;<br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<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">&nbsp;1</span><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">CallFun.cpp&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;CallFun::setCallBack(PCALLBACKFunc&nbsp;Func)&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img id=Codehighlighter1_64_96_Open_Image onclick="this.style.display='none'; Codehighlighter1_64_96_Open_Text.style.display='none'; Codehighlighter1_64_96_Closed_Image.style.display='inline'; Codehighlighter1_64_96_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_64_96_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_64_96_Closed_Text.style.display='none'; Codehighlighter1_64_96_Open_Image.style.display='inline'; Codehighlighter1_64_96_Open_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_64_96_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.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_64_96_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;m_pCallBack&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Func;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;CallFun::runCallBack(std::</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;strMsg)&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img id=Codehighlighter1_150_184_Open_Image onclick="this.style.display='none'; Codehighlighter1_150_184_Open_Text.style.display='none'; Codehighlighter1_150_184_Closed_Image.style.display='inline'; Codehighlighter1_150_184_Closed_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_150_184_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_150_184_Closed_Text.style.display='none'; Codehighlighter1_150_184_Open_Image.style.display='inline'; Codehighlighter1_150_184_Open_Text.style.display='inline';" src="http://www.cnitblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_150_184_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.cnitblog.com/Images/dot.gif"></span><span id=Codehighlighter1_150_184_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #000000"><img src="http://www.cnitblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;(</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">m_pCallBack)(strMsg);&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img src="http://www.cnitblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">&nbsp;&nbsp;<br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
在执行逻辑操作的同时要显示进度，可以用回调函数使得逻辑和显示分开。在测试该逻辑函数时，设置回调函数什么都不做，利于简化测试。
<img src ="http://www.cnitblog.com/lzzzing/aggbug/43785.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/lzzzing/" target="_blank">lzzzing</a> 2008-05-15 22:12 <a href="http://www.cnitblog.com/lzzzing/archive/2008/05/15/43785.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>编写跨平台Java程序注意事项</title><link>http://www.cnitblog.com/lzzzing/archive/2008/05/14/43716.html</link><dc:creator>lzzzing</dc:creator><author>lzzzing</author><pubDate>Wed, 14 May 2008 12:50:00 GMT</pubDate><guid>http://www.cnitblog.com/lzzzing/archive/2008/05/14/43716.html</guid><wfw:comment>http://www.cnitblog.com/lzzzing/comments/43716.html</wfw:comment><comments>http://www.cnitblog.com/lzzzing/archive/2008/05/14/43716.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/lzzzing/comments/commentRss/43716.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/lzzzing/services/trackbacks/43716.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/lzzzing/archive/2008/05/14/43716.html'>阅读全文</a><img src ="http://www.cnitblog.com/lzzzing/aggbug/43716.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/lzzzing/" target="_blank">lzzzing</a> 2008-05-14 20:50 <a href="http://www.cnitblog.com/lzzzing/archive/2008/05/14/43716.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java泛型编程</title><link>http://www.cnitblog.com/lzzzing/archive/2008/05/14/43715.html</link><dc:creator>lzzzing</dc:creator><author>lzzzing</author><pubDate>Wed, 14 May 2008 12:49:00 GMT</pubDate><guid>http://www.cnitblog.com/lzzzing/archive/2008/05/14/43715.html</guid><wfw:comment>http://www.cnitblog.com/lzzzing/comments/43715.html</wfw:comment><comments>http://www.cnitblog.com/lzzzing/archive/2008/05/14/43715.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/lzzzing/comments/commentRss/43715.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/lzzzing/services/trackbacks/43715.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/lzzzing/archive/2008/05/14/43715.html'>阅读全文</a><img src ="http://www.cnitblog.com/lzzzing/aggbug/43715.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/lzzzing/" target="_blank">lzzzing</a> 2008-05-14 20:49 <a href="http://www.cnitblog.com/lzzzing/archive/2008/05/14/43715.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java Socket 编程——多线程网络聊天程序</title><link>http://www.cnitblog.com/lzzzing/archive/2008/05/14/43714.html</link><dc:creator>lzzzing</dc:creator><author>lzzzing</author><pubDate>Wed, 14 May 2008 12:45:00 GMT</pubDate><guid>http://www.cnitblog.com/lzzzing/archive/2008/05/14/43714.html</guid><wfw:comment>http://www.cnitblog.com/lzzzing/comments/43714.html</wfw:comment><comments>http://www.cnitblog.com/lzzzing/archive/2008/05/14/43714.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnitblog.com/lzzzing/comments/commentRss/43714.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/lzzzing/services/trackbacks/43714.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/lzzzing/archive/2008/05/14/43714.html'>阅读全文</a><img src ="http://www.cnitblog.com/lzzzing/aggbug/43714.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/lzzzing/" target="_blank">lzzzing</a> 2008-05-14 20:45 <a href="http://www.cnitblog.com/lzzzing/archive/2008/05/14/43714.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>函数的副作用及其他</title><link>http://www.cnitblog.com/lzzzing/archive/2008/05/14/43713.html</link><dc:creator>lzzzing</dc:creator><author>lzzzing</author><pubDate>Wed, 14 May 2008 12:42:00 GMT</pubDate><guid>http://www.cnitblog.com/lzzzing/archive/2008/05/14/43713.html</guid><wfw:comment>http://www.cnitblog.com/lzzzing/comments/43713.html</wfw:comment><comments>http://www.cnitblog.com/lzzzing/archive/2008/05/14/43713.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/lzzzing/comments/commentRss/43713.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/lzzzing/services/trackbacks/43713.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Pure Function、Impure Function、副作用、Referential Transparent <br>&nbsp;&nbsp;<a href='http://www.cnitblog.com/lzzzing/archive/2008/05/14/43713.html'>阅读全文</a><img src ="http://www.cnitblog.com/lzzzing/aggbug/43713.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/lzzzing/" target="_blank">lzzzing</a> 2008-05-14 20:42 <a href="http://www.cnitblog.com/lzzzing/archive/2008/05/14/43713.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java转换大写金额的代码</title><link>http://www.cnitblog.com/lzzzing/archive/2008/05/14/43712.html</link><dc:creator>lzzzing</dc:creator><author>lzzzing</author><pubDate>Wed, 14 May 2008 12:41:00 GMT</pubDate><guid>http://www.cnitblog.com/lzzzing/archive/2008/05/14/43712.html</guid><wfw:comment>http://www.cnitblog.com/lzzzing/comments/43712.html</wfw:comment><comments>http://www.cnitblog.com/lzzzing/archive/2008/05/14/43712.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/lzzzing/comments/commentRss/43712.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/lzzzing/services/trackbacks/43712.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/lzzzing/archive/2008/05/14/43712.html'>阅读全文</a><img src ="http://www.cnitblog.com/lzzzing/aggbug/43712.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/lzzzing/" target="_blank">lzzzing</a> 2008-05-14 20:41 <a href="http://www.cnitblog.com/lzzzing/archive/2008/05/14/43712.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java克隆(Clone)的应用</title><link>http://www.cnitblog.com/lzzzing/archive/2008/05/14/43711.html</link><dc:creator>lzzzing</dc:creator><author>lzzzing</author><pubDate>Wed, 14 May 2008 12:35:00 GMT</pubDate><guid>http://www.cnitblog.com/lzzzing/archive/2008/05/14/43711.html</guid><wfw:comment>http://www.cnitblog.com/lzzzing/comments/43711.html</wfw:comment><comments>http://www.cnitblog.com/lzzzing/archive/2008/05/14/43711.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/lzzzing/comments/commentRss/43711.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/lzzzing/services/trackbacks/43711.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:  Java克隆(Clone)是Java语言的特性之一，但在实际中应用比较少见。但有时候用克隆会更方便更有效率。<br><br>    对于克隆(Clone)，Java有一些限制：<br>    1、被克隆的类必须自己实现Cloneable 接口，以指示 Object.clone() 方法可以合法地对该类实例进行按字段复制。Cloneable 接口实际上是个标识接口，没有任何接口方法。<br>    2、实现Cloneable接口的类应该使用公共方法重写 Object.clone（它是受保护的）。某个对象实现了此接口就克隆它是不可能的。即使 clone 方法是反射性调用的，也无法保证它将获得成功。<br>    3、在Java.lang.Object类中克隆方法是这么定义的：<br>    protected Object clone()<br>                    throws CloneNotSupportedException<br>    创建并返回此对象的一个副本。表明是一个受保护的方法，同一个包中可见。<br>    按照惯例，返回的对象应&nbsp;&nbsp;<a href='http://www.cnitblog.com/lzzzing/archive/2008/05/14/43711.html'>阅读全文</a><img src ="http://www.cnitblog.com/lzzzing/aggbug/43711.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/lzzzing/" target="_blank">lzzzing</a> 2008-05-14 20:35 <a href="http://www.cnitblog.com/lzzzing/archive/2008/05/14/43711.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用PHP和专用PEAR类自动生成MP3曲目</title><link>http://www.cnitblog.com/lzzzing/archive/2008/04/17/42489.html</link><dc:creator>lzzzing</dc:creator><author>lzzzing</author><pubDate>Thu, 17 Apr 2008 15:00:00 GMT</pubDate><guid>http://www.cnitblog.com/lzzzing/archive/2008/04/17/42489.html</guid><wfw:comment>http://www.cnitblog.com/lzzzing/comments/42489.html</wfw:comment><comments>http://www.cnitblog.com/lzzzing/archive/2008/04/17/42489.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/lzzzing/comments/commentRss/42489.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/lzzzing/services/trackbacks/42489.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/lzzzing/archive/2008/04/17/42489.html'>阅读全文</a><img src ="http://www.cnitblog.com/lzzzing/aggbug/42489.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/lzzzing/" target="_blank">lzzzing</a> 2008-04-17 23:00 <a href="http://www.cnitblog.com/lzzzing/archive/2008/04/17/42489.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用Perl的哈希建立键－值数据映射</title><link>http://www.cnitblog.com/lzzzing/archive/2008/04/17/42487.html</link><dc:creator>lzzzing</dc:creator><author>lzzzing</author><pubDate>Thu, 17 Apr 2008 14:59:00 GMT</pubDate><guid>http://www.cnitblog.com/lzzzing/archive/2008/04/17/42487.html</guid><wfw:comment>http://www.cnitblog.com/lzzzing/comments/42487.html</wfw:comment><comments>http://www.cnitblog.com/lzzzing/archive/2008/04/17/42487.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/lzzzing/comments/commentRss/42487.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/lzzzing/services/trackbacks/42487.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/lzzzing/archive/2008/04/17/42487.html'>阅读全文</a><img src ="http://www.cnitblog.com/lzzzing/aggbug/42487.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/lzzzing/" target="_blank">lzzzing</a> 2008-04-17 22:59 <a href="http://www.cnitblog.com/lzzzing/archive/2008/04/17/42487.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>