﻿<?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-好男儿志在四方</title><link>http://www.blogjava.net/sdllovelp/</link><description>骨气、义气、豪气</description><language>zh-cn</language><lastBuildDate>Fri, 17 Apr 2026 21:12:56 GMT</lastBuildDate><pubDate>Fri, 17 Apr 2026 21:12:56 GMT</pubDate><ttl>60</ttl><item><title>常用英语</title><link>http://www.blogjava.net/sdllovelp/archive/2008/07/10/214017.html</link><dc:creator>sdl</dc:creator><author>sdl</author><pubDate>Thu, 10 Jul 2008 08:53:00 GMT</pubDate><guid>http://www.blogjava.net/sdllovelp/archive/2008/07/10/214017.html</guid><wfw:comment>http://www.blogjava.net/sdllovelp/comments/214017.html</wfw:comment><comments>http://www.blogjava.net/sdllovelp/archive/2008/07/10/214017.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sdllovelp/comments/commentRss/214017.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sdllovelp/services/trackbacks/214017.html</trackback:ping><description><![CDATA[1：The food is delicious!&nbsp; 好吃 <br />
2：your son/daughter is so cute 你的孩子很可爱<br />
3：your chinese is really surprising&nbsp; 你的中文令人惊讶<br />
4：can you speak slowly? 请您说得慢些好吗？<br />
5：come with me. 跟我来<br />
6：&nbsp;congratulations. 恭喜恭喜<br />
7：&nbsp;After you<br />
8：Slow down! 慢点<br />
9：Watch out! 当心<br />
10：I beg your pardon？<br />
11：&nbsp;I am a football fan
<img src ="http://www.blogjava.net/sdllovelp/aggbug/214017.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sdllovelp/" target="_blank">sdl</a> 2008-07-10 16:53 <a href="http://www.blogjava.net/sdllovelp/archive/2008/07/10/214017.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>查看表空间利用率和查看正在执行的SQL语句</title><link>http://www.blogjava.net/sdllovelp/archive/2008/07/10/213990.html</link><dc:creator>sdl</dc:creator><author>sdl</author><pubDate>Thu, 10 Jul 2008 07:44:00 GMT</pubDate><guid>http://www.blogjava.net/sdllovelp/archive/2008/07/10/213990.html</guid><wfw:comment>http://www.blogjava.net/sdllovelp/comments/213990.html</wfw:comment><comments>http://www.blogjava.net/sdllovelp/archive/2008/07/10/213990.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sdllovelp/comments/commentRss/213990.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sdllovelp/services/trackbacks/213990.html</trackback:ping><description><![CDATA[SELECT UPPER(F.TABLESPACE_NAME) "表空间名", <br />
D.TOT_GROOTTE_MB "表空间大小(M)", <br />
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", <br />
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100, <br />
2), <br />
'990.99') "使用比", <br />
F.TOTAL_BYTES "空闲空间(M)", <br />
F.MAX_BYTES "最大块(M)" <br />
FROM (SELECT TABLESPACE_NAME, <br />
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES, <br />
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES <br />
FROM SYS.DBA_FREE_SPACE <br />
GROUP BY TABLESPACE_NAME) F, <br />
(SELECT DD.TABLESPACE_NAME, <br />
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB <br />
FROM SYS.DBA_DATA_FILES DD <br />
GROUP BY DD.TABLESPACE_NAME) D <br />
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME <br />
ORDER BY 4 DESC<br />
--order by F.TABLESPACE_NAME<br />
<br />
<br />
select OSUSER,PROGRAM,USERNAME,SCHEMANAME,B.Cpu_Time,STATUS,B.SQL_TEXT<br />
from V$SESSION A LEFT JOIN V$SQL B ON A.SQL_ADDRESS=B.ADDRESS AND A.SQL_HASH_VALUE=B.HASH_VALUE order by b.cpu_time desc<br />
<img src ="http://www.blogjava.net/sdllovelp/aggbug/213990.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sdllovelp/" target="_blank">sdl</a> 2008-07-10 15:44 <a href="http://www.blogjava.net/sdllovelp/archive/2008/07/10/213990.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>欧锦赛赛程表</title><link>http://www.blogjava.net/sdllovelp/archive/2008/06/03/205519.html</link><dc:creator>sdl</dc:creator><author>sdl</author><pubDate>Tue, 03 Jun 2008 04:02:00 GMT</pubDate><guid>http://www.blogjava.net/sdllovelp/archive/2008/06/03/205519.html</guid><wfw:comment>http://www.blogjava.net/sdllovelp/comments/205519.html</wfw:comment><comments>http://www.blogjava.net/sdllovelp/archive/2008/06/03/205519.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sdllovelp/comments/commentRss/205519.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sdllovelp/services/trackbacks/205519.html</trackback:ping><description><![CDATA[<p>1 08/06&nbsp; A组 瑞士 00:00 捷克 巴塞尔&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:1<br />
2 08/06&nbsp; A组 葡萄牙 02:45 土耳其 日内瓦&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2:0<br />
3 09/06&nbsp; B组 奥地利 00:00 克罗地亚 维也纳&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:1<br />
4 09/06&nbsp; B组 德国 02:45 波兰 克拉根佛特&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2:0<br />
5 10/06&nbsp; C组 罗马尼亚 00:00 法国 苏黎世&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:0<br />
6 10/06&nbsp; C组 荷兰 02:45 意大利 伯尔尼&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3:0<br />
7 11/06&nbsp; D组 西班牙 00:00 俄罗斯 因斯布鲁克&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4:1<br />
8 11/06&nbsp; D组 希腊 02:45 瑞典 萨尔茨堡&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:2<br />
9 12/06&nbsp; A组 捷克 00:00 葡萄牙 日内瓦 &nbsp;&nbsp;&nbsp; 3:1<br />
10 12/06 A组 瑞士 02:45 土耳其 巴塞尔 <br />
11 13/06 B组 克罗地亚 00:00 德国 克拉根佛特 <br />
12 13/06 B组 奥地利 02:45 波兰 维也纳 <br />
13 14/06 C组 意大利 00:00 罗马尼亚 苏黎世 <br />
14 14/06 C组 荷兰 02:45 法国 伯尔尼 <br />
15 15/06 D组 瑞典 00:00 西班牙 因斯布鲁克 <br />
16 15/06 D组 希腊 02:45 俄罗斯 萨尔茨堡 <br />
17 16/06 A组 瑞士 02:45 葡萄牙 巴塞尔 <br />
18 16/06 A组 土耳其 02:45 捷克 日内瓦 <br />
19 17/06 B组 奥地利 02:45 德国 维也纳 <br />
20 17/06 B组 波兰 02:45 克罗地亚 克拉根佛特 <br />
21 18/06 C组 荷兰 02:45 罗马尼亚 伯尔尼 <br />
22 18/06 C组 法国 02:45 意大利 苏黎世 <br />
23 19/06 D组 希腊 02:45 西班牙 萨尔茨堡 <br />
24 19/06 D组 俄罗斯 02:45 瑞典 因斯布鲁克 <br />
25 20/06 1/4决赛 A组第1 02:45 B组第2 巴塞尔 <br />
26 21/06 1/4决赛 B组第1 02:45 A组第2 维也纳 <br />
27 22/06 1/4决赛 C组第1 02:45 D组第2 巴塞尔 <br />
28 23/06 1/4决赛 D组第1 02:45 C组第2 维也纳 <br />
29 26/06 半决赛 第25场胜者 02:45 第26场胜者 巴塞尔 <br />
30 27/06 半决赛 第27场胜者 02:45 第28场胜者 维也纳 <br />
31 30/06 决赛 第29场胜者 02:45 第30场胜者 维也纳 </p>
<p>本人比较看好西班牙</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/sdllovelp/aggbug/205519.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sdllovelp/" target="_blank">sdl</a> 2008-06-03 12:02 <a href="http://www.blogjava.net/sdllovelp/archive/2008/06/03/205519.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle Undo表空间</title><link>http://www.blogjava.net/sdllovelp/archive/2008/06/03/205518.html</link><dc:creator>sdl</dc:creator><author>sdl</author><pubDate>Tue, 03 Jun 2008 03:56:00 GMT</pubDate><guid>http://www.blogjava.net/sdllovelp/archive/2008/06/03/205518.html</guid><wfw:comment>http://www.blogjava.net/sdllovelp/comments/205518.html</wfw:comment><comments>http://www.blogjava.net/sdllovelp/archive/2008/06/03/205518.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/sdllovelp/comments/commentRss/205518.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sdllovelp/services/trackbacks/205518.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;在开发过程中遇到这样一个问题：<br />
&nbsp;&nbsp;&nbsp;&nbsp;2008-06-02 16:29:23,262 WARN [org.hibernate.util.JDBCExceptionReporter] SQL Error: 30036, SQLState: 99999<br />
2008-06-02 16:29:23,263 ERROR [org.hibernate.util.JDBCExceptionReporter] ORA-30036: unable to extend segment by 1024 in undo tablespace 'UNDOTBS2'<br />
后来查资料才发现是Undo表空间的问题。查看了一下Undo表空间剩的空间已经很少了。这种问题解决方法如下：<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
<p><br />
UNDO表空间用于存放UNDO数据,当执行DML操作(INSERT,UPDATE和DELETE)时,oracle会将这些操作执行前的旧数据写入到UNDO段,在oracle9i之前,管理UNDO数据时使用(Rollback Segment)完成的.从oracle9i开始,管理UNDO数据不仅可以使用回滚段,还可以使用UNDO表空间.因为规划和管理回滚段比较复杂,所有oracle database 10g已经完全丢弃用回滚段.并且使用UNDO表空间来管理UNDO数据.</p>
<p>1:查看所有的Undo表空间</p>
<p>SELECT * FROM dba_tablespaces where contents='UNDO'</p>
<p><br />
2:Undo大小计算公式：</p>
<p>SELECT ((UR * (UPS * DBS)) + (DBS * 24))/1048576 AS "MB"<br />
FROM (SELECT value AS UR<br />
FROM v$parameter<br />
WHERE name = 'undo_retention'),<br />
(SELECT (SUM(undoblks)/SUM<br />
(((end_time-begin_time)*86400))) AS UPS<br />
FROM v$undostat),<br />
(SELECT value AS DBS<br />
FROM v$parameter<br />
WHERE name = 'db_block_size');<br />
3：修改Undo表空间大小</p>
<p>&nbsp;先删除原来的表空间：<br />
&nbsp;drop tablespace UNDOTBS2 including contents and datafiles<br />
&nbsp;再建立一个和原来名称一样的表空间<br />
&nbsp;create undo tablespace UNDOTBS2 datafile '/home/oracle/oradata/depsight/undotbs2.dbf' size 50m</p>
<img src ="http://www.blogjava.net/sdllovelp/aggbug/205518.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sdllovelp/" target="_blank">sdl</a> 2008-06-03 11:56 <a href="http://www.blogjava.net/sdllovelp/archive/2008/06/03/205518.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>弟弟写的距离高考还有15天</title><link>http://www.blogjava.net/sdllovelp/archive/2008/06/01/205200.html</link><dc:creator>sdl</dc:creator><author>sdl</author><pubDate>Sun, 01 Jun 2008 12:23:00 GMT</pubDate><guid>http://www.blogjava.net/sdllovelp/archive/2008/06/01/205200.html</guid><wfw:comment>http://www.blogjava.net/sdllovelp/comments/205200.html</wfw:comment><comments>http://www.blogjava.net/sdllovelp/archive/2008/06/01/205200.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sdllovelp/comments/commentRss/205200.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sdllovelp/services/trackbacks/205200.html</trackback:ping><description><![CDATA[<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>想象一下，把所有的失望和希望都强加在一个人身上，留下的是什么那，那得把大地压得颤抖。</strong><font face="黑体" size="4">&nbsp;</font>
<p><font face="黑体" size="4">&nbsp;&nbsp;&nbsp; 沿着鸽子的哨音，<font face="黑体" size="4">我寻找着你，<font face="黑体" size="4">高高的森林挡住了天空，<font face="黑体" size="4">小路上<font face="黑体" size="4">一颗迷途的蒲公英，把我引向蓝灰色的湖泊，在微微摇晃的倒影中。我找到了你。</font></font></font></font></font></p>
<p><font face="黑体" size="4"><font face="黑体" size="4"><font face="黑体" size="4"><font face="黑体" size="4">&nbsp;&nbsp;&nbsp; 这诗歌怎么样啊，《迷途》。猜猜谁写的。</font></font></font></font></p>
<p><font face="黑体" size="4"><font face="黑体" size="4"><font face="黑体" size="4"><font face="黑体" size="4">&nbsp;&nbsp;&nbsp; 如果说弗罗斯特的选择是无法改变而且使它变得伟大，那么普通人的选择又能算什么那。</font></font></font></font></p>
<p><font face="黑体" size="4"><font face="黑体" size="4"><font face="黑体" size="4"><font face="黑体" size="4">&nbsp;&nbsp;&nbsp; 我静静回想你的眼神，但我永远无法读懂那里含有什么，是期盼还是讨厌。</font></font></font></font></p>
<p><font face="黑体" size="4">&nbsp;&nbsp;&nbsp; 高考。意味着什么那，解脱、或是一段历史的结束，都一样吧。</font></p>
<p><font face="黑体" size="4">&nbsp;&nbsp;&nbsp; 还记得史铁生说得好啊：女人对于你才是一个必然，而我对于你只是一个偶然。改编一下：</font></p>
<p><font face="黑体" size="4">&nbsp;&nbsp;&nbsp; 高考对于我们来说是一个必然，考上了才是一个偶然。</font></p>
<p><font face="黑体" size="4">&nbsp;&nbsp;&nbsp; 你对于我来说就跟其他的一样，其他的也跟你一样。当我看到他们我就想起你，而我看到你是就会忘记他们。</font></p>
<p><font face="黑体" size="4">&nbsp;&nbsp;&nbsp; 多么美好的生活，就这样过去啦，不会回来了，在这里消逝，溶释在不知道的地方。<br />
</font></p>
<img src ="http://www.blogjava.net/sdllovelp/aggbug/205200.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sdllovelp/" target="_blank">sdl</a> 2008-06-01 20:23 <a href="http://www.blogjava.net/sdllovelp/archive/2008/06/01/205200.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>弟弟写的距离高考40天的感想</title><link>http://www.blogjava.net/sdllovelp/archive/2008/06/01/205199.html</link><dc:creator>sdl</dc:creator><author>sdl</author><pubDate>Sun, 01 Jun 2008 12:21:00 GMT</pubDate><guid>http://www.blogjava.net/sdllovelp/archive/2008/06/01/205199.html</guid><wfw:comment>http://www.blogjava.net/sdllovelp/comments/205199.html</wfw:comment><comments>http://www.blogjava.net/sdllovelp/archive/2008/06/01/205199.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sdllovelp/comments/commentRss/205199.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sdllovelp/services/trackbacks/205199.html</trackback:ping><description><![CDATA[<p><font face="楷体" color="#333333" size="4">距离高考就剩下四十天了，从来没有象现在这样的考虑过一些事情。</font></p>
<p><font color="#333333" size="4">每当我想到在这儿度过的一天，就想起一句话: 复课一年的生活将是你一生的财富--纯属放屁的一句话不知道害了多少像我一样的学生，如果将来的一天再有人跟我说这句话，我会吃了他。</font></p>
<p><font color="#333333" size="4">在这儿受尽了窝囊气，老师不象老师象畜生，女生比男人还男人，男生比女人还女人。这些可以忍受而且必须忍受。</font></p>
<p><font color="#333333" size="4">在这儿不知为什么从没想起过以前的跟高中同学在一起的岁月，就像一个世外的人，跟着果子每天吃饭睡觉上课跑操，突然间变得淡然了，一切都不重要了。</font></p>
<p><font color="#333333" size="4">从没想过自己有一天会考上家人期望的大学，只是自己一个人在这儿思考一些问题，有时候去喝点酒或者打打台球什么的。</font></p>
<p><font color="#333333" size="4">苍凉的生活再有四十天就要结束了--彻底的结束。在这儿得一切都将成为过去，可能存在我的记忆中，也可能被我遗忘生活跟我开了一个玩笑，呵呵，勇气，责任，挫折，汗水，成绩，理想，情感，忧郁，都他妈的将要去啦。</font></p>
<p><font color="#333333" size="4">曾想过写一篇长一点得东西记录这一年的心路历程，后来放弃了，自己根本就不会写什么东西，经历就像一杯水你喝了它，它就消失，你倒了它它也是没有了，结果都一样，被子终将空的。留下的只是一些零碎的片段，希望它是完整的，但它永远不会。</font></p>
<p><font color="#333333" size="4"><font color="#333333" size="4">在正确的时间遇上错误的人，注定是一声叹息；在错误的时间遇到对的人，注定是一场悲伤。这话说的太好了，每听一遍都是眼泪模糊。</font></font></p>
<p><font color="#333333" size="4"><font color="#333333" size="4">幻想，是美好的，生活在自己想象的世界里是完美的。憧憬，怅惘，期待，虚伪，流氓，拳击，读书，音乐，电影，每天充斥着我，生活就是这个样子的吗？幸福在哪里？</font></font></p>
<p><font color="#333333" size="4">天空，晴朗，云彩，时光，流水，尘土，星空，黎明，这是幸福。</font></p>
<p><font color="#333333" size="4">孤独，寂寞，惆怅，失落，灿烂，忧伤，浮躁，平淡，这也是幸福。</font></p>
<p><font color="#333333" size="4">理想，信念，执着，信仰，支撑，拼搏，努力，坚持，就像平凡的伟大的土地在我们心里生长，这同样是幸福。</font></p>
<p><font color="#333333" size="4">萎靡，沉醉，疯狂，堕落，枯萎，这不是幸福，这是什么那？</font></p>
<p><font color="#333333" size="4">生活是肥皂，生活是牙膏，生活是大宝，人生必落俗。</font></p>
<p><font color="#333333" size="4">平静，烦恼，压力，浪潮，激动，愤怒，没什么可以阻挡的。真的吗？</font></p>
<p><font color="#333333" size="4">白云苍狗，过眼云烟，花开花落，云卷云舒。</p>
<p><font color="#333333" size="4">就像阿Q一样有时候也想一下这个东西，就是&#8220;女......&#8221;我们要继续想下去的。</font></p>
</font>
<p><font color="#333333" size="4">现在老觉得女孩魅惑迷离的眼神是那么的可爱，值得留恋。那就是烙印打在心上了。</font></p>
<p><font color="#333333" size="4">男人在夜深人静的时候才会留下眼泪抚摸自己的伤口，生活跟我们开了一个玩笑，希望这一切能让我在以后想起来的时候会有多点的释然，少一点的无奈，少一点伤感。</font></p>
<p><font color="#333333" size="4">可能所有的人都能理解我的心情。看过这篇日志的人啊，愿上帝保佑你们，愿我的忠诚助你们一臂之力。</font></p>
<img src ="http://www.blogjava.net/sdllovelp/aggbug/205199.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sdllovelp/" target="_blank">sdl</a> 2008-06-01 20:21 <a href="http://www.blogjava.net/sdllovelp/archive/2008/06/01/205199.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HashMap排序问题</title><link>http://www.blogjava.net/sdllovelp/archive/2008/05/27/203291.html</link><dc:creator>sdl</dc:creator><author>sdl</author><pubDate>Tue, 27 May 2008 09:52:00 GMT</pubDate><guid>http://www.blogjava.net/sdllovelp/archive/2008/05/27/203291.html</guid><wfw:comment>http://www.blogjava.net/sdllovelp/comments/203291.html</wfw:comment><comments>http://www.blogjava.net/sdllovelp/archive/2008/05/27/203291.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sdllovelp/comments/commentRss/203291.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sdllovelp/services/trackbacks/203291.html</trackback:ping><description><![CDATA[<p>HashMap输出排序，以前写的接口没有考虑这个问题，现在输出要求排序，可以在得到Map结果后进行如下操作对数据进行排序：<br />
<br />
Object[] key =&nbsp;&nbsp; map.keySet().toArray();<br />
//升序排序<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Arrays.sort(key);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int i=0;i&lt;key.length;++i)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println("Key_Id=="+key[i]+"Key_Value===="+map.get(key[i]));;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
</p>
<img src ="http://www.blogjava.net/sdllovelp/aggbug/203291.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sdllovelp/" target="_blank">sdl</a> 2008-05-27 17:52 <a href="http://www.blogjava.net/sdllovelp/archive/2008/05/27/203291.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>汉龙集团好样的</title><link>http://www.blogjava.net/sdllovelp/archive/2008/05/23/202361.html</link><dc:creator>sdl</dc:creator><author>sdl</author><pubDate>Fri, 23 May 2008 03:52:00 GMT</pubDate><guid>http://www.blogjava.net/sdllovelp/archive/2008/05/23/202361.html</guid><wfw:comment>http://www.blogjava.net/sdllovelp/comments/202361.html</wfw:comment><comments>http://www.blogjava.net/sdllovelp/archive/2008/05/23/202361.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sdllovelp/comments/commentRss/202361.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sdllovelp/services/trackbacks/202361.html</trackback:ping><description><![CDATA[我对以前对汉龙集团根本不了解，可今天看了一个贴子说是汉龙集团捐助的5所希望小学在地震中屹立不倒，<br />
师生的生命得以挽救，心里特别震撼，当时的集团一个主任负责监管建设这五所希望小学，非常严格，<br />
10年之前，10年之后，想起这，人的感动不由心生，好人有好报！但是就是这样严格按照工程质量建造的学校，因为在地震中没有倒，而被人称做&#8220;奇迹&#8221;，为何？我不说大家也明白。其它的建设的都是垃圾工程。<br />
好人有好报，良心被狼吃了的人也必遭天遣！
<img src ="http://www.blogjava.net/sdllovelp/aggbug/202361.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sdllovelp/" target="_blank">sdl</a> 2008-05-23 11:52 <a href="http://www.blogjava.net/sdllovelp/archive/2008/05/23/202361.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我弟弟写的距离高考80天的感想</title><link>http://www.blogjava.net/sdllovelp/archive/2008/05/21/201935.html</link><dc:creator>sdl</dc:creator><author>sdl</author><pubDate>Wed, 21 May 2008 07:50:00 GMT</pubDate><guid>http://www.blogjava.net/sdllovelp/archive/2008/05/21/201935.html</guid><wfw:comment>http://www.blogjava.net/sdllovelp/comments/201935.html</wfw:comment><comments>http://www.blogjava.net/sdllovelp/archive/2008/05/21/201935.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sdllovelp/comments/commentRss/201935.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sdllovelp/services/trackbacks/201935.html</trackback:ping><description><![CDATA[<p>距高考80天的感想</p>
<p>1.每天生活都是一个样子,教室-厕所-食堂-宿舍,看见的人也是一样,男生-女生-老师-还有畜生,这样的生活太他妈的爽了.</p>
<p>2.每天有固定的时间看书\睡觉\吃饭\跑操.连上个厕所的时间每天都是一样的,这样的生活其实一天就可以了,没有必要每天都这样.</p>
<p>3.每当我看都畜生的时候我就想自己真是个幸运的孩子啊,在这个时候才遇见他,而不是整个高中,真他吗的是幸福啊.</p>
<p>4.并不是每天都能看到的人,但为什么总是在尴尬的时候出现了,就象是一个雷锋在发扬钉子般的钻的精神,突然就钻出来拉.</p>
<p>5.我要在地上画满窗子,让所有习惯黑暗的眼睛都习惯光明,高三的学子们,掰着你们的爪子算一算你们就剩下几十天了,我在这里给你们祝福了.</p>
<p>6.我们不要嫉恨畜生,他们也是很好的呀,他们吃饭睡觉喝水撒尿跟我们一样,不过他们的思想跟我们不大一样,他们是牲畜的思想--仅此而已.</p>
<p>7.这里上学的有十种人.1.上学迟到的,2.上课睡觉的,3.上课看课外书的,4.上课说话的,5.老师不讲课睡不着觉的,6.吃饭把漱口水吐你鞋上的,7.再你吃饭的时候突然把你的馒头撞掉的而且还很横的,8.你在睡觉的时候突然闯入什么都不说的,9.半夜三更在楼道唱歌的,10没有女朋友跟你说他有的.</p>
<p>8.要原谅他们啊,并且要为他们祈祷啊----滚你娘的吧.老子不在乎.</p>
<p>同志们,革命尚未成功同志仍需努力,我们要好好学习天天向上啊,为什么那?</p>
<img src ="http://www.blogjava.net/sdllovelp/aggbug/201935.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sdllovelp/" target="_blank">sdl</a> 2008-05-21 15:50 <a href="http://www.blogjava.net/sdllovelp/archive/2008/05/21/201935.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java基础知识回顾</title><link>http://www.blogjava.net/sdllovelp/archive/2008/05/21/201864.html</link><dc:creator>sdl</dc:creator><author>sdl</author><pubDate>Wed, 21 May 2008 03:44:00 GMT</pubDate><guid>http://www.blogjava.net/sdllovelp/archive/2008/05/21/201864.html</guid><wfw:comment>http://www.blogjava.net/sdllovelp/comments/201864.html</wfw:comment><comments>http://www.blogjava.net/sdllovelp/archive/2008/05/21/201864.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sdllovelp/comments/commentRss/201864.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sdllovelp/services/trackbacks/201864.html</trackback:ping><description><![CDATA[转自别处：<br />
&nbsp;&nbsp;&nbsp;&nbsp;1：抽象类：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有时候，我们可能想要构造一个很抽象的父类对象，它可能仅仅代表一个分类或抽象概念，它的实例没有任何意义，因此不希望它能被实例化。例如：有一个父类&#8220;水果（Fruit）&#8221;，它有几个子类&#8220;苹果（Apple）&#8221;、&#8220;橘子（Orange）&#8221;、&#8220;香蕉（Banana）&#8221;等。水果在这里仅仅只是作为一个分类，显然水果的实例没有什么意义（就好像一个人如果告诉你他买了一些水果但是却不告诉你是苹果还是橘子，你很难想象他到底买的是什么。） 。而水果类又要能被子类化，这就要求我们使用抽象类（abstract class）来解决这个问题。<br />
在java中，通过在class关键字前增加abstract修饰符，就可以将一个类定义成抽象类。抽象类不能被实例化。例如：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 定义抽象类水果（Fruit）<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public abstract class Fruit {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230;&#8230;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果我们试图用以下语句来获得一个实例，将无法编译成功。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Fruit fruit = new Fruit();<br />
而我们仍然可以构造水果类的子类，如：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 子类&#8220;苹果（Apple）&#8221;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public class Apple extends Fruit {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230;&#8230;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 子类&#8220;橘子（Orange）&#8221;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public class Orange extends Fruit {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230;&#8230;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
这样就达到我们的目的了。<br />
抽象类除了能象普通类一样可以拥有一般的属性和方法，也可以拥有抽象方法（abstract method）。例如：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 抽象类&#8220;形状（Shape）&#8221;拥有抽象方法draw()。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public abstract class Shape {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230;&#8230;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public abstract void draw();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230;&#8230;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
抽象方法与抽象的行为相对应，通常是这个行为对父对象没有意义，而子对象有具体动作。例如方法draw()对于类Shape没有意义，而类Shape的子类矩形（Rectangle）的方法draw()可以有实际的动作（根据矩形的四个顶点画出矩形的四个边），子类圆（Circle）的方法draw()也可以有实际的动作（根据圆心和半径画出圆周）。<br />
抽象类可以有抽象方法也可以没有抽象方法；但是如果一个类有抽象方法，那这个类只能定义为抽象类。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果按照以下代码类&#8220;形状（Shape）&#8221;仍然拥有抽象方法draw()，但没有定义为抽象类，将会编译失败。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public class Shape {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230;&#8230;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public abstract void draw();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230;&#8230;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
抽象方法还有一个特点是，它强迫子类要么仍然保持抽象性（即不具体实现该方法并仍然定义为抽象类），要么具体表现出这个方法的行为（实现具体的动作或者通过抛出UnsupportedOperationException异常来表明不支持该行为）。这样也可以强化多态性。<br />
<br />
2：接口（interface）<br />
java语言使用关键字interface定义一个接口。接口也是抽象对象，它甚至比抽象类更抽象。接口中的方法都是抽象方法。<br />
&nbsp;&nbsp;&nbsp;&nbsp;一个接口可以继承其他接口；一个类通过关键字implements声明要实现一个接口，并具体实现接口的方法。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例如：有一个接口InterfaceA，<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public interface InterfaceA {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void methodA();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 类ClassA实现接口InterfaceA。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public class ClassA {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void methodA() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("methodA of ClassA implements InterfaceA");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
如果是抽象类实现一个接口，那么抽象类中可以不具体实现接口的方法（保持其抽象性），而由其子类去实现。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 抽象类ClassB实现接口InterfaceA，但是没有具体实现方法methodA()，<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public abstract class ClassB {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 子类ClassBSub实现接口InterfaceA，但是没有具体实现方法methodA()，<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public class ClassBSub {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void methodA() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("methodA of ClassBSub the subclass of ClassB");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
接口和抽象类显著的共同点是接口和抽象类都可以有抽象方法。<br />
接口和抽象类的不同点有：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (1)抽象类可以有实例变量，而接口不能拥有实例变量，接口中的变量都是静态（static）的常量（final）。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (2)抽象类可以有非抽象方法，而接口只能有抽象方法。<br />
java中，类与类之间是不能多继承的。java之所以禁止类与类之间的多继承是因为多继承有很大的缺点。<br />
多继承虽然能使子类同时拥有多个父类的特征，但是其缺点也是很显著的，主要有两方面：<br />
(1)如果在一个子类继承的多个父类中拥有相同名字的实例变量，子类在引用该变量时将产生歧义，无法判断应该使用哪个父类的变量。例如：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 类ClassA：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public class ClassA {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected int varSame = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 类ClassB：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public class ClassB {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected int varSame = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 子类ClassC：（假设允许类与类之间多继承）<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public class ClassC extends ClassA, ClassB {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void printOut() {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; System.out.println(super.varSame);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void main(String[] args) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ClassC classC = new ClassC();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; classC.printOut();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 上面程序的运行结果会是什么呢？输出0还是1？<br />
(2)如果在一个子类继承的多个父类中拥有相同方法，子类中有没有覆盖该方法，那么调用该方法时将产生歧义，无法判断应该调用哪个父类的方法。例如：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 类ClassA：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public class ClassA {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void printOut() {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; System.out.println(0);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 类ClassB：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public class ClassB {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void printOut() {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; System.out.println(1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 子类ClassC：（假设允许类与类之间多继承）<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public class ClassC extends ClassA, ClassB {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void main(String[] args) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ClassA classA = new ClassC();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; classA.printOut();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -------------------------&nbsp; A行<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ClassB classB = new ClassC();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; classB.printOut();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -------------------------&nbsp; B行<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ClassC classC = new ClassC();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; classC.printOut();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -------------------------&nbsp; C行<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 上面程序的运行结果会是什么呢？A、B、C三行的输出是0还是1？<br />
正因为有以上的致命缺点，所以java中禁止一个类继承多个父类；但是幸运的是java提供了接口，并能通过接口的功能获得多继承的许多优点而又摒弃了类与类多继承的缺点。<br />
java允许一个接口继承多个父接口，也允许一个类实现多个接口，而这样的多继承有上面提到的缺点马？<br />
答案是没有，这是由接口的抽象性决定的。<br />
正如前面介绍的，在接口中不能有实例变量，只能有静态的常量，不能有具体的方法（包含方法体），只能有抽象方法，因此也就摒弃了多继承的缺点。<br />
对于一个类实现多个接口的情况，因为接口只有抽象方法，具体方法只能由实现接口的类实现，在调用的时候始终只会调用实现类的方法（不存在歧义），因此不存在多继承的第二个缺点；而又因为接口只有静态的常量，但是由于静态变量是在编译期决定调用关系的，即使存在一定的冲突也会在编译时提示出错；而引用静态变量一般直接使用类名或接口名，从而避免产生歧义，因此也不存在多继承的第一个缺点。<br />
对于一个接口继承多个父接口的情况也一样不存在这些缺点。<br />
请看以下示例。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 接口A：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public interface InterfaceA {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int len = 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void output();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 接口B：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public interface InterfaceB {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int len = 2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void output();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 接口Sub继承接口A和接口B：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public interface InterfaceSub extends InterfaceA, interfaceB {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 类Xyz实现接口Sub：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public class Xyz implements InterfaceSub {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void output() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("output in class Xyz.");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void outputLen(int type) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; switch(type) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case InterfaceA.len:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("len of InterfaceA=."+type);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case InterfaceB.len:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("len of InterfaceB=."+type);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void main(String[] args) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Xyz xyz= new Xyz ();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyz .output();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyz .outputLen();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以上代码不存在什么问题，但是如果试图编写以下存在冲突的代码，则会编译失败。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Xyz xyz = new Xyz();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int len = xyz.len;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(len);<br />
由于引入了接口，java显得非常灵活，也使得java中的多态性更加富有魔力。<br />
<img src ="http://www.blogjava.net/sdllovelp/aggbug/201864.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sdllovelp/" target="_blank">sdl</a> 2008-05-21 11:44 <a href="http://www.blogjava.net/sdllovelp/archive/2008/05/21/201864.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>