﻿<?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-Argol-随笔分类-Java编程</title><link>http://www.blogjava.net/Argol/category/46319.html</link><description>I am the captain of my soul.</description><language>zh-cn</language><lastBuildDate>Thu, 07 Jul 2011 07:21:17 GMT</lastBuildDate><pubDate>Thu, 07 Jul 2011 07:21:17 GMT</pubDate><ttl>60</ttl><item><title>Keycode对照表</title><link>http://www.blogjava.net/Argol/archive/2011/07/06/353763.html</link><dc:creator>Argol</dc:creator><author>Argol</author><pubDate>Wed, 06 Jul 2011 01:14:00 GMT</pubDate><guid>http://www.blogjava.net/Argol/archive/2011/07/06/353763.html</guid><wfw:comment>http://www.blogjava.net/Argol/comments/353763.html</wfw:comment><comments>http://www.blogjava.net/Argol/archive/2011/07/06/353763.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Argol/comments/commentRss/353763.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Argol/services/trackbacks/353763.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Keycode对照表：字母和数字键的键码值(keyCode)按键键码按键键码按键键码按键键码A65J74S83149B66K75T84250C67L76U85351D68M77V86452E69N78W87553F70O79X88654G71P80Y89755H72Q81Z90856I73R82048957　　&nbsp;数字键盘上的键的键码值(keyCode)功能键键码值(keyCode)按键键...&nbsp;&nbsp;<a href='http://www.blogjava.net/Argol/archive/2011/07/06/353763.html'>阅读全文</a><img src ="http://www.blogjava.net/Argol/aggbug/353763.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Argol/" target="_blank">Argol</a> 2011-07-06 09:14 <a href="http://www.blogjava.net/Argol/archive/2011/07/06/353763.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转】MyEclipse注册码生成代码</title><link>http://www.blogjava.net/Argol/archive/2010/12/13/340550.html</link><dc:creator>Argol</dc:creator><author>Argol</author><pubDate>Mon, 13 Dec 2010 13:22:00 GMT</pubDate><guid>http://www.blogjava.net/Argol/archive/2010/12/13/340550.html</guid><wfw:comment>http://www.blogjava.net/Argol/comments/340550.html</wfw:comment><comments>http://www.blogjava.net/Argol/archive/2010/12/13/340550.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Argol/comments/commentRss/340550.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Argol/services/trackbacks/340550.html</trackback:ping><description><![CDATA[<p>注册算法：打开MYECLIPSE运行下面代码，运行结果就是注册码</p>
<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left-color: #cccccc; width: 98%; word-break: break-all; padding-top: 4px; background-color: #eeeeee; "><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.BufferedReader;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.IOException;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.InputStreamReader;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;MyEclipseGen&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">final</span><span style="color: #000000">&nbsp;String&nbsp;LL&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">Decompiling&nbsp;this&nbsp;copyrighted&nbsp;software&nbsp;is&nbsp;a&nbsp;violation&nbsp;of&nbsp;both&nbsp;your&nbsp;license&nbsp;agreement&nbsp;and&nbsp;the&nbsp;Digital&nbsp;Millenium&nbsp;Copyright&nbsp;Act&nbsp;of&nbsp;1998&nbsp;(http://www.loc.gov/copyright/legislation/dmca.pdf).&nbsp;Under&nbsp;section&nbsp;1204&nbsp;of&nbsp;the&nbsp;DMCA,&nbsp;penalties&nbsp;range&nbsp;up&nbsp;to&nbsp;a&nbsp;$500,000&nbsp;fine&nbsp;or&nbsp;up&nbsp;to&nbsp;five&nbsp;years&nbsp;imprisonment&nbsp;for&nbsp;a&nbsp;first&nbsp;offense.&nbsp;Think&nbsp;about&nbsp;it;&nbsp;pay&nbsp;for&nbsp;a&nbsp;license,&nbsp;avoid&nbsp;prosecution,&nbsp;and&nbsp;feel&nbsp;better&nbsp;about&nbsp;yourself.</span><span style="color: #000000">"</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;String&nbsp;getSerial(String&nbsp;userId,&nbsp;String&nbsp;licenseNum)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;java.util.Calendar&nbsp;cal&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;java.util.Calendar.getInstance();&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;cal.add(</span><span style="color: #000000">1</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">3</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;cal.add(</span><span style="color: #000000">6</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;java.text.NumberFormat&nbsp;nf&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;java.text.DecimalFormat(</span><span style="color: #000000">"</span><span style="color: #000000">000</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;licenseNum&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;nf.format(Integer.valueOf(licenseNum));&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;String&nbsp;verTime&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StringBuilder(</span><span style="color: #000000">"</span><span style="color: #000000">-</span><span style="color: #000000">"</span><span style="color: #000000">).append(&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;java.text.SimpleDateFormat(</span><span style="color: #000000">"</span><span style="color: #000000">yyMMdd</span><span style="color: #000000">"</span><span style="color: #000000">).format(cal.getTime()))&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;.append(</span><span style="color: #000000">"</span><span style="color: #000000">0</span><span style="color: #000000">"</span><span style="color: #000000">).toString();&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;String&nbsp;type&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">YE3MP-</span><span style="color: #000000">"</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;String&nbsp;need&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StringBuilder(userId.substring(</span><span style="color: #000000">0</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">1</span><span style="color: #000000">)).append(type)&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;.append(</span><span style="color: #000000">"</span><span style="color: #000000">300</span><span style="color: #000000">"</span><span style="color: #000000">).append(licenseNum).append(verTime).toString();&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;String&nbsp;dx&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StringBuilder(need).append(LL).append(userId)&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;.toString();&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;suf&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.decode(dx);&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;String&nbsp;code&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StringBuilder(need).append(String.valueOf(suf))&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;.toString();&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.change(code);&nbsp;&nbsp;&nbsp;&nbsp;<br />
}&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;<br />
</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;decode(String&nbsp;s)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">char</span><span style="color: #000000">[]&nbsp;ac;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;j;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;k;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;ac&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;s.toCharArray();&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;j&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;k&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ac.length;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;(j&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;k)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(</span><span style="color: #000000">31</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">&nbsp;i)&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;ac[j];&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;j</span><span style="color: #000000">++</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;Math.abs(i);&nbsp;&nbsp;&nbsp;&nbsp;<br />
}&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;<br />
</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;change(String&nbsp;s)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">byte</span><span style="color: #000000">[]&nbsp;abyte0;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">char</span><span style="color: #000000">[]&nbsp;ac;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;k;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;j;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;abyte0&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;s.getBytes();&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;ac&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">char</span><span style="color: #000000">[s.length()];&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;k&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;abyte0.length;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;(i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;k)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;abyte0[i];&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;((j&nbsp;</span><span style="color: #000000">&gt;=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">48</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">&nbsp;(j&nbsp;</span><span style="color: #000000">&lt;=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">57</span><span style="color: #000000">))&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(((j&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">48</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">5</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">10</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">48</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;((j&nbsp;</span><span style="color: #000000">&gt;=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">65</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">&nbsp;(j&nbsp;</span><span style="color: #000000">&lt;=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">90</span><span style="color: #000000">))&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(((j&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">65</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">13</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">26</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">65</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;((j&nbsp;</span><span style="color: #000000">&gt;=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">97</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">&nbsp;(j&nbsp;</span><span style="color: #000000">&lt;=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">122</span><span style="color: #000000">))&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(((j&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">97</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">13</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">%</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">26</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">97</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;ac[i]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">char</span><span style="color: #000000">)&nbsp;j;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;String.valueOf(ac);&nbsp;&nbsp;&nbsp;&nbsp;<br />
}&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;MyEclipseGen()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">super</span><span style="color: #000000">();&nbsp;&nbsp;&nbsp;&nbsp;<br />
}&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;<br />
</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;{&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">please&nbsp;input&nbsp;register&nbsp;name:</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;BufferedReader&nbsp;reader&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;BufferedReader(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;InputStreamReader(&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.in));&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;userId&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;userId&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;reader.readLine();&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;MyEclipseGen&nbsp;myeclipsegen&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;MyEclipseGen();&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;res&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;myeclipsegen.getSerial(userId,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">5</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">Serial:</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;res);&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;reader.readLine();&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(IOException&nbsp;ex)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br />
}&nbsp;&nbsp;&nbsp;&nbsp;<br />
}&nbsp;&nbsp;</span></div>
<img src ="http://www.blogjava.net/Argol/aggbug/340550.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Argol/" target="_blank">Argol</a> 2010-12-13 21:22 <a href="http://www.blogjava.net/Argol/archive/2010/12/13/340550.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP与Java Servlet</title><link>http://www.blogjava.net/Argol/archive/2010/11/19/338446.html</link><dc:creator>Argol</dc:creator><author>Argol</author><pubDate>Fri, 19 Nov 2010 01:25:00 GMT</pubDate><guid>http://www.blogjava.net/Argol/archive/2010/11/19/338446.html</guid><wfw:comment>http://www.blogjava.net/Argol/comments/338446.html</wfw:comment><comments>http://www.blogjava.net/Argol/archive/2010/11/19/338446.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Argol/comments/commentRss/338446.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Argol/services/trackbacks/338446.html</trackback:ping><description><![CDATA[<p align="justify">JSP是一种脚本语言，包装了Java Servlet系统的界面，简化了Java和Servlet的使用难度，同时通过扩展JSP标签(TAG)提供了网页动态执行的能力。尽管如此，JSP仍没有超出Java和Servlet的范围，不仅JSP页面上可以直接写Java代码，而且JSP是先被译成Servlet之后才实际运行的。JSP在服务器上执行，并将执行结果输出到客户端浏览器，我们可以说基本上与浏览器无关。它是与JavaScript不同的，JavaScript是在客户端的脚本语言，在客户端执行，与服务器无关。&nbsp;<br />
<br />
那么JSP是什么？就是Servlet.&nbsp;<br />
<br />
JSP与Servlet之间的主要差异在于，JSP提供了一套简单的标签，和HTML融合的比较好，可以使不了解Servlet的人可以做出动态网页来。对于Java语言不熟悉的人(比如像我),会觉得JSP开发比较方便。JSP修改后可以立即看到结果，不需要手工编译，JSP引擎会来做这些工作；而Servelt缺需要编译，重新启动Servlet引擎等一系列动作。但是在JSP中，HTML与程序代码混杂在一起，而Servlet却不是这样。也许大家比较混乱了，那么Servlet又是什么？下面我们对JSP的运行来做一个简单的介绍，告诉大家怎样来执行一个JSP文件：&nbsp;<br />
<br />
当Web服务器(或Servlet引擎,应用服务器)支持JSP引擎时，JSP引擎会照着JSP的语法，将JSP文件转换成Servlet代码源文件，接着Servlet会被编译成Java可执行字节码(bytecode)，并以一般的Servlet方式载入执行。<br />
<br />
JSP语法简单，可以方便的嵌入HTML之中，很容易加入动态的部分，方便的输出HTML。在Servlet中输出HTML缺需要调用特定的方法，对于引号之类的字符也要做特殊的处理，加在复杂的HTML页面中作为动态部分，比起JSP来说是比较困难的。&nbsp;<br />
<br />
除去了转换和编译阶段，JSP和Servlet之间的区别实在是不大。&nbsp;<br />
<br />
JSP引擎通常架构在Servlet引擎之上，本身就是一个Servlet，把JSP文件转译成Servlet源代码，再调用Java编译器，编译成Servlet。这也是JSP在第一次调用时速度比较慢的原因，在第一次编译之后，JSP与Servlet速度相同.下面我们来看看为什么他们在第一次编译后再编译的速度相同：&nbsp;<br />
<br />
在整个运行过程中，JSP引擎会检查编译好的JSP(以Servlet形式存在)是否比原始的JSP文件还新，如果是，JSP引擎不会编译;如果不是，表示JSP文件比较新，就会重新执行转译与编译的过程。&nbsp;<br />
<br />
为了有个深刻的了解，我们看一下JSP的运行和开发环境:&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;浏览器：常见的浏览器有IE和Netscape两种。&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;数据库：常用的数据库有Oracle,SQL Server,Informix,DB2,Sybase,Access,MySQL等。&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;操作系统：常见的有Windows,Linux,以及各种Unix系统。&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Web服务器：常见的有IIS,Apache,Netscape Enterprise Server等。&nbsp;<br />
<br />
JSP引擎：一般JSP引擎都以Servlet引擎为基础，并以Servlet的形式出现。同时，在各种免费和商业引擎的实现中，Servlet引擎和Jsp引擎通常也是一起出现，我们成为Servlet/JSP引擎，或从某种成为JSP引擎。&nbsp;<br />
<br />
引擎是可以提供JSP和Servlet运行支持并对其生存周期进行管理的系统级实体。&nbsp;<br />
<br />
在JSP页面第一次被请求时，JSP引擎会将JSP原始文件转换成Servlet源代码，然后调用Java编译器，编译成Servlet,并在Servlet引擎中执行。当再次有请求的时候，JSP引擎会见差异编译好的JSP是否比原来的JSP原始文件要新，如果是,运行Servlet；如果不是，表示文件已经更新的了，就会从新执行转换和编译的过程。 </p>
<img src ="http://www.blogjava.net/Argol/aggbug/338446.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Argol/" target="_blank">Argol</a> 2010-11-19 09:25 <a href="http://www.blogjava.net/Argol/archive/2010/11/19/338446.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java中的toString方法</title><link>http://www.blogjava.net/Argol/archive/2010/09/17/332247.html</link><dc:creator>Argol</dc:creator><author>Argol</author><pubDate>Fri, 17 Sep 2010 00:27:00 GMT</pubDate><guid>http://www.blogjava.net/Argol/archive/2010/09/17/332247.html</guid><wfw:comment>http://www.blogjava.net/Argol/comments/332247.html</wfw:comment><comments>http://www.blogjava.net/Argol/archive/2010/09/17/332247.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Argol/comments/commentRss/332247.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Argol/services/trackbacks/332247.html</trackback:ping><description><![CDATA[Java中的toString方法在Object中已经存在。由于Java中所有的类都继承自Object类，所以此方法存在于所有对象中，其作用是为了方便所有类的字符串操作。在Java的API文档中指出&#8220;建议所有子类都重写此方法&#8221;。<br />
<br />
对该方法的使用进行如下验证：<br />
<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_12_80_Open_Image" onclick="this.style.display='none'; Codehighlighter1_12_80_Open_Text.style.display='none'; Codehighlighter1_12_80_Closed_Image.style.display='inline'; Codehighlighter1_12_80_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_12_80_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_12_80_Closed_Text.style.display='none'; Codehighlighter1_12_80_Open_Image.style.display='inline'; Codehighlighter1_12_80_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;TestA&nbsp;</span><span id="Codehighlighter1_12_80_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"  alt="" /></span><span id="Codehighlighter1_12_80_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_40_78_Open_Image" onclick="this.style.display='none'; Codehighlighter1_40_78_Open_Text.style.display='none'; Codehighlighter1_40_78_Closed_Image.style.display='inline'; Codehighlighter1_40_78_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_40_78_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_40_78_Closed_Text.style.display='none'; Codehighlighter1_40_78_Open_Image.style.display='inline'; Codehighlighter1_40_78_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;String&nbsp;toString()&nbsp;</span><span id="Codehighlighter1_40_78_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"  alt="" /></span><span id="Codehighlighter1_40_78_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">A&nbsp;feedback&nbsp;from&nbsp;TestA.</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_95_164_Open_Image" onclick="this.style.display='none'; Codehighlighter1_95_164_Open_Text.style.display='none'; Codehighlighter1_95_164_Closed_Image.style.display='inline'; Codehighlighter1_95_164_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_95_164_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_95_164_Closed_Text.style.display='none'; Codehighlighter1_95_164_Open_Image.style.display='inline'; Codehighlighter1_95_164_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;TestB&nbsp;</span><span id="Codehighlighter1_95_164_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"  alt="" /></span><span id="Codehighlighter1_95_164_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_124_162_Open_Image" onclick="this.style.display='none'; Codehighlighter1_124_162_Open_Text.style.display='none'; Codehighlighter1_124_162_Closed_Image.style.display='inline'; Codehighlighter1_124_162_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_124_162_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_124_162_Closed_Text.style.display='none'; Codehighlighter1_124_162_Open_Image.style.display='inline'; Codehighlighter1_124_162_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;String&nbsp;getString()&nbsp;</span><span id="Codehighlighter1_124_162_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"  alt="" /></span><span id="Codehighlighter1_124_162_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">A&nbsp;feedback&nbsp;from&nbsp;TestB.</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_179_248_Open_Image" onclick="this.style.display='none'; Codehighlighter1_179_248_Open_Text.style.display='none'; Codehighlighter1_179_248_Closed_Image.style.display='inline'; Codehighlighter1_179_248_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_179_248_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_179_248_Closed_Text.style.display='none'; Codehighlighter1_179_248_Open_Image.style.display='inline'; Codehighlighter1_179_248_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;TestC&nbsp;</span><span id="Codehighlighter1_179_248_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"  alt="" /></span><span id="Codehighlighter1_179_248_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_208_246_Open_Image" onclick="this.style.display='none'; Codehighlighter1_208_246_Open_Text.style.display='none'; Codehighlighter1_208_246_Closed_Image.style.display='inline'; Codehighlighter1_208_246_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_208_246_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_208_246_Closed_Text.style.display='none'; Codehighlighter1_208_246_Open_Image.style.display='inline'; Codehighlighter1_208_246_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;String&nbsp;getString()&nbsp;</span><span id="Codehighlighter1_208_246_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"  alt="" /></span><span id="Codehighlighter1_208_246_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">A&nbsp;feedback&nbsp;from&nbsp;TestC.</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_262_263_Open_Image" onclick="this.style.display='none'; Codehighlighter1_262_263_Open_Text.style.display='none'; Codehighlighter1_262_263_Closed_Image.style.display='inline'; Codehighlighter1_262_263_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_262_263_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_262_263_Closed_Text.style.display='none'; Codehighlighter1_262_263_Open_Image.style.display='inline'; Codehighlighter1_262_263_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;TestD</span><span id="Codehighlighter1_262_263_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"  alt="" /></span><span id="Codehighlighter1_262_263_Open_Text"><span style="color: #000000">{}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_290_628_Open_Image" onclick="this.style.display='none'; Codehighlighter1_290_628_Open_Text.style.display='none'; Codehighlighter1_290_628_Closed_Image.style.display='inline'; Codehighlighter1_290_628_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_290_628_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_290_628_Closed_Text.style.display='none'; Codehighlighter1_290_628_Open_Image.style.display='inline'; Codehighlighter1_290_628_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;SimpleTest&nbsp;</span><span id="Codehighlighter1_290_628_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"  alt="" /></span><span id="Codehighlighter1_290_628_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_332_624_Open_Image" onclick="this.style.display='none'; Codehighlighter1_332_624_Open_Text.style.display='none'; Codehighlighter1_332_624_Closed_Image.style.display='inline'; Codehighlighter1_332_624_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_332_624_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_332_624_Closed_Text.style.display='none'; Codehighlighter1_332_624_Open_Image.style.display='inline'; Codehighlighter1_332_624_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&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_332_624_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"  alt="" /></span><span id="Codehighlighter1_332_624_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TestA&nbsp;ta&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;TestA();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TestB&nbsp;tb&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;TestB();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TestC&nbsp;tc&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;TestC();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TestD&nbsp;td&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;TestD();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">From&nbsp;TestA:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;ta);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">From&nbsp;TestB:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;tb);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">From&nbsp;TestC:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;tc.getString());&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">From&nbsp;TestD:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;td);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></div>
<br />
此程序段的输出如下：<br />
<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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">From&nbsp;TestA:&nbsp;A&nbsp;feedback&nbsp;from&nbsp;TestA.<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />From&nbsp;TestB:&nbsp;TestB@14318bb<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />From&nbsp;TestC:&nbsp;A&nbsp;feedback&nbsp;from&nbsp;TestC.<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />From&nbsp;TestD:&nbsp;TestD@ca0b6</span></div>
<br />
其中TestA类重写了toString方法，返回字符串，因此可在println中直接输出。TestB和TestC类尝试用另一种方法名重新设置相同的功能，而事实上没有对toString方法进行重写，因此在对TestB的输出中仍然调用原来继承的toString方法，输出&#8220;类名+at标记符@+此对象哈希码的无符号十六进制表示&#8221;；而在TestC中调用了getString方法，返回自定义的字符串。TestD类中未对toString做任何操作，在主函数中调用时与TestB相同，使用的继承的toString方法，输出与TestB类似。 
<img src ="http://www.blogjava.net/Argol/aggbug/332247.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Argol/" target="_blank">Argol</a> 2010-09-17 08:27 <a href="http://www.blogjava.net/Argol/archive/2010/09/17/332247.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java接口嵌套</title><link>http://www.blogjava.net/Argol/archive/2010/09/14/332015.html</link><dc:creator>Argol</dc:creator><author>Argol</author><pubDate>Tue, 14 Sep 2010 12:39:00 GMT</pubDate><guid>http://www.blogjava.net/Argol/archive/2010/09/14/332015.html</guid><wfw:comment>http://www.blogjava.net/Argol/comments/332015.html</wfw:comment><comments>http://www.blogjava.net/Argol/archive/2010/09/14/332015.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Argol/comments/commentRss/332015.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Argol/services/trackbacks/332015.html</trackback:ping><description><![CDATA[<p>在Java语言中，接口可以嵌套在类或其它接口中。由于Java中interface内是不可以嵌套class的，所以接口的嵌套就共有两种方式：class嵌套interface、interface嵌套interface。<br />
<br />
1. class嵌套interface<br />
这时接口可以是public，private和package的。重点在private上，被定义为私有的接口只能在接口所在的类被实现。可以被实现为public的类也可以被实现为private的类。当被实现为public时，只能在被自身所在的类内部使用。只能够实现接口中的方法,在外部不能像正常类那样上传为接口类型。</p>
<p>2. interface嵌套interface<br />
由于接口的元素必须是public的，所以被嵌套的接口自动就是public的，而不能定义成private的。在实现这种嵌套时，不必实现被嵌套的接口。<br />
<br />
程序示例（摘抄改编自《Thinking in Java》）：<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"><img id="Codehighlighter1_8_280_Open_Image" onclick="this.style.display='none'; Codehighlighter1_8_280_Open_Text.style.display='none'; Codehighlighter1_8_280_Closed_Image.style.display='inline'; Codehighlighter1_8_280_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_8_280_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_8_280_Closed_Text.style.display='none'; Codehighlighter1_8_280_Open_Image.style.display='inline'; Codehighlighter1_8_280_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;A&nbsp;</span><span id="Codehighlighter1_8_280_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_8_280_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_31_46_Open_Image" onclick="this.style.display='none'; Codehighlighter1_31_46_Open_Text.style.display='none'; Codehighlighter1_31_46_Closed_Image.style.display='inline'; Codehighlighter1_31_46_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_31_46_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_31_46_Closed_Text.style.display='none'; Codehighlighter1_31_46_Open_Image.style.display='inline'; Codehighlighter1_31_46_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">interface</span><span style="color: #000000">&nbsp;D&nbsp;</span><span id="Codehighlighter1_31_46_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_31_46_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;f();<br />
<img alt="" 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_81_105_Open_Image" onclick="this.style.display='none'; Codehighlighter1_81_105_Open_Text.style.display='none'; Codehighlighter1_81_105_Closed_Image.style.display='inline'; Codehighlighter1_81_105_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_81_105_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_81_105_Closed_Text.style.display='none'; Codehighlighter1_81_105_Open_Image.style.display='inline'; Codehighlighter1_81_105_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;DImp&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;D&nbsp;</span><span id="Codehighlighter1_81_105_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_81_105_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_101_102_Open_Image" onclick="this.style.display='none'; Codehighlighter1_101_102_Open_Text.style.display='none'; Codehighlighter1_101_102_Closed_Image.style.display='inline'; Codehighlighter1_101_102_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_101_102_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_101_102_Closed_Text.style.display='none'; Codehighlighter1_101_102_Open_Image.style.display='inline'; Codehighlighter1_101_102_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;f()&nbsp;</span><span id="Codehighlighter1_101_102_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_101_102_Open_Text"><span style="color: #000000">{}</span></span><span style="color: #000000"><br />
<img alt="" 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_140_164_Open_Image" onclick="this.style.display='none'; Codehighlighter1_140_164_Open_Text.style.display='none'; Codehighlighter1_140_164_Closed_Image.style.display='inline'; Codehighlighter1_140_164_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_140_164_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_140_164_Closed_Text.style.display='none'; Codehighlighter1_140_164_Open_Image.style.display='inline'; Codehighlighter1_140_164_Open_Text.style.display='inline';" alt="" 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">class</span><span style="color: #000000">&nbsp;DImp2&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;D&nbsp;</span><span id="Codehighlighter1_140_164_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_140_164_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_160_161_Open_Image" onclick="this.style.display='none'; Codehighlighter1_160_161_Open_Text.style.display='none'; Codehighlighter1_160_161_Closed_Image.style.display='inline'; Codehighlighter1_160_161_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_160_161_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_160_161_Closed_Text.style.display='none'; Codehighlighter1_160_161_Open_Image.style.display='inline'; Codehighlighter1_160_161_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;f()&nbsp;</span><span id="Codehighlighter1_160_161_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_160_161_Open_Text"><span style="color: #000000">{}</span></span><span style="color: #000000"><br />
<img alt="" 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_183_205_Open_Image" onclick="this.style.display='none'; Codehighlighter1_183_205_Open_Text.style.display='none'; Codehighlighter1_183_205_Closed_Image.style.display='inline'; Codehighlighter1_183_205_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_183_205_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_183_205_Closed_Text.style.display='none'; Codehighlighter1_183_205_Open_Image.style.display='inline'; Codehighlighter1_183_205_Open_Text.style.display='inline';" alt="" 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;D&nbsp;getD()&nbsp;</span><span id="Codehighlighter1_183_205_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_183_205_Open_Text"><span style="color: #000000">{&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;DImp2();&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;D&nbsp;dRef;<br />
<img id="Codehighlighter1_251_278_Open_Image" onclick="this.style.display='none'; Codehighlighter1_251_278_Open_Text.style.display='none'; Codehighlighter1_251_278_Closed_Image.style.display='inline'; Codehighlighter1_251_278_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_251_278_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_251_278_Closed_Text.style.display='none'; Codehighlighter1_251_278_Open_Image.style.display='inline'; Codehighlighter1_251_278_Open_Text.style.display='inline';" alt="" 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">void</span><span style="color: #000000">&nbsp;receiveD(D&nbsp;d)&nbsp;</span><span id="Codehighlighter1_251_278_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_251_278_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dRef&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;d;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dRef.f();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_314_601_Open_Image" onclick="this.style.display='none'; Codehighlighter1_314_601_Open_Text.style.display='none'; Codehighlighter1_314_601_Closed_Image.style.display='inline'; Codehighlighter1_314_601_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_314_601_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_314_601_Closed_Text.style.display='none'; Codehighlighter1_314_601_Open_Image.style.display='inline'; Codehighlighter1_314_601_Open_Text.style.display='inline';" alt="" 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;NestingInterfaces&nbsp;</span><span id="Codehighlighter1_314_601_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_314_601_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_356_599_Open_Image" onclick="this.style.display='none'; Codehighlighter1_356_599_Open_Text.style.display='none'; Codehighlighter1_356_599_Closed_Image.style.display='inline'; Codehighlighter1_356_599_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_356_599_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_356_599_Closed_Text.style.display='none'; Codehighlighter1_356_599_Open_Image.style.display='inline'; Codehighlighter1_356_599_Open_Text.style.display='inline';" alt="" 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_356_599_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_356_599_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;a&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;A();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">The&nbsp;type&nbsp;A.D&nbsp;is&nbsp;not&nbsp;visible<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">!&nbsp;A.D&nbsp;ad&nbsp;=&nbsp;a.getD();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">Cannot&nbsp;convert&nbsp;from&nbsp;A.D&nbsp;to&nbsp;A.DImp2<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">!&nbsp;A.DImp2&nbsp;di2&nbsp;=&nbsp;a.getD();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">The&nbsp;type&nbsp;A.D&nbsp;is&nbsp;not&nbsp;visible<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">!&nbsp;a.getD().f();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;a2&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;A();<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a2.receiveD(a.getD());<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div>
<p><br />
其中语句A.D ad = a.getD()和a.getD().f()的编译错误是因为D是A的私有接口，不能在外部被访问。语句A.DImp2 di2 = a.getD()的错误是因为getD方法的返回类型为D，不能自动向下转型为DImp2类型。</p>
<img src ="http://www.blogjava.net/Argol/aggbug/332015.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Argol/" target="_blank">Argol</a> 2010-09-14 20:39 <a href="http://www.blogjava.net/Argol/archive/2010/09/14/332015.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>