我的評論
re: JTable常見用法細(xì)則 zhrb 2018-10-30 08:42
寫的非常好,如果能在標(biāo)題注明是JTable中的“DefaultTableModel”那就更好了
re: 線程2種方式的差異[未登錄] zhrb 2010-04-26 21:26
好像最后一段理解有錯...
re: 測試一下,離線編寫[未登錄] zhrb 2010-04-22 11:16
用什么東西離線編寫的?Live writer?
re: [轉(zhuǎn)]領(lǐng)略內(nèi)部類的“內(nèi)部”[未登錄] zhrb 2010-04-21 23:04
所謂的包可見構(gòu)造器到底是個什么東西?
re: 如何使用開源項目simplejee來了解j2ee技術(shù) zhrb 2010-03-14 00:21
收藏一下...
re: 實驗二 Java編程基礎(chǔ)訓(xùn)練 zhrb 2010-03-14 00:13
lz是老師嗎?呵呵
關(guān)注一下,有沒有接下去的試驗?zāi)兀?br>
關(guān)注一下,有沒有接下去的試驗?zāi)兀?br>
re: 為java桌面程序制作安裝向?qū)С绦騕未登錄] zhrb 2010-03-14 00:10
不錯,收藏一下
不過jar文件在裝有虛擬機(jī)的電腦上不是可以直接點擊運行嗎?
不過jar文件在裝有虛擬機(jī)的電腦上不是可以直接點擊運行嗎?
re: 使用JavaFX開發(fā)的小游戲[未登錄] zhrb 2010-03-14 00:08
game over
your score不顯示任何東西...
javafx是不是類似flash的東西
your score不顯示任何東西...
javafx是不是類似flash的東西
re: jEdit的一些常用設(shè)置 zhrb 2010-03-03 22:46
@xiaorenwu
eclipse更多的是一個ide
這個東西更多的是一個代碼編輯器
一個重型,一個輕型。呵呵
eclipse更多的是一個ide
這個東西更多的是一個代碼編輯器
一個重型,一個輕型。呵呵
re: IE7無法支持Applet???[未登錄] zhrb 2008-07-23 13:44
謝謝@路人甲
謝謝你了~~~~呵呵
謝謝你了~~~~呵呵
re: 接口與抽象類的區(qū)別....[未登錄] zhrb 2008-07-18 10:45
@蒙娜麗莎
說的不錯,主要還是要到實踐中應(yīng)用才能具體的指導(dǎo)怎么應(yīng)用這兩者。多看多用
說的不錯,主要還是要到實踐中應(yīng)用才能具體的指導(dǎo)怎么應(yīng)用這兩者。多看多用
re: IE7無法支持Applet???[未登錄] zhrb 2008-05-30 13:38
其實不存在什么替換不替換的問題....
Applet從來就沒有真正的流行起來過
Ajax主要是做表現(xiàn)層方面的,感覺
Applet用處大的多,但是就是不流行
@one person
Applet從來就沒有真正的流行起來過
Ajax主要是做表現(xiàn)層方面的,感覺
Applet用處大的多,但是就是不流行
@one person
re: 面向?qū)ο蟮乃季S方法 [zz] zhrb 2008-03-25 17:27
一直以來希望看到這樣一篇講面向?qū)ο笤O(shè)計的文章,終于被我找到了
re: 需求分析很重要很強大 zhrb 2008-03-19 22:22
一個比較好的回答
發(fā)信人: modico ().net(), 信區(qū): Java
標(biāo) 題: Re: 這個怎么解決?
發(fā)信站: 水木社區(qū) (Tue Mar 18 14:22:43 2008), 站內(nèi)
如果你有很多
~~~~ 很多是什么量級的?
內(nèi)容記錄
~~~~~~~~文字?圖片?多媒體?混雜?放在哪里?
希望發(fā)送給
~~~~ 發(fā)送形式是短信?email?還是其它?
不同的用戶
~~~~~~~~~ 根據(jù)用戶挑內(nèi)容還是根據(jù)內(nèi)容挑用戶?
有的用戶直接發(fā)就可以
~~~~ 怎么區(qū)分這個“有的”和下一個“有的”?
有的則需要做特殊處理以后發(fā)送過去
~~~~ ~~~~~~~~什么樣的特殊?
需要記錄日志
~~~~日志里是記錄已經(jīng)把什么內(nèi)容經(jīng)過什么處理發(fā)給哪個用戶了嗎?
然后還有可能希望做翻譯等其他的擴(kuò)展
~~~~~~~~~~~~~~~~~~ 這是你說的特殊處理的一種嗎?
這個怎么設(shè)計比較好呢?
~~~~ 發(fā)送形式是短信?email?還是其它?
不同的用戶
~~~~~~~~~ 根據(jù)用戶挑內(nèi)容還是根據(jù)內(nèi)容挑用戶?
有的用戶直接發(fā)就可以
~~~~ 怎么區(qū)分這個“有的”和下一個“有的”?
有的則需要做特殊處理以后發(fā)送過去
~~~~ ~~~~~~~~什么樣的特殊?
需要記錄日志
~~~~日志里是記錄已經(jīng)把什么內(nèi)容經(jīng)過什么處理發(fā)給哪個用戶了嗎?
然后還有可能希望做翻譯等其他的擴(kuò)展
~~~~~~~~~~~~~~~~~~ 這是你說的特殊處理的一種嗎?
這個怎么設(shè)計比較好呢?
【 在 credapple (自得其樂的蘋果) 的大作中提到: 】
: 你對那一句比較好奇
: 我可以解答一下
--
珍愛生命,遠(yuǎn)離IDE
※ 來源:·水木社區(qū) http://newsmth.net·[FROM: 61.49.10.*]
發(fā)信人: modico ().net(), 信區(qū): Java
標(biāo) 題: Re: 這個怎么解決?
發(fā)信站: 水木社區(qū) (Tue Mar 18 14:22:43 2008), 站內(nèi)
如果你有很多
~~~~ 很多是什么量級的?
內(nèi)容記錄
~~~~~~~~文字?圖片?多媒體?混雜?放在哪里?
希望發(fā)送給
~~~~ 發(fā)送形式是短信?email?還是其它?
不同的用戶
~~~~~~~~~ 根據(jù)用戶挑內(nèi)容還是根據(jù)內(nèi)容挑用戶?
有的用戶直接發(fā)就可以
~~~~ 怎么區(qū)分這個“有的”和下一個“有的”?
有的則需要做特殊處理以后發(fā)送過去
~~~~ ~~~~~~~~什么樣的特殊?
需要記錄日志
~~~~日志里是記錄已經(jīng)把什么內(nèi)容經(jīng)過什么處理發(fā)給哪個用戶了嗎?
然后還有可能希望做翻譯等其他的擴(kuò)展
~~~~~~~~~~~~~~~~~~ 這是你說的特殊處理的一種嗎?
這個怎么設(shè)計比較好呢?
~~~~ 發(fā)送形式是短信?email?還是其它?
不同的用戶
~~~~~~~~~ 根據(jù)用戶挑內(nèi)容還是根據(jù)內(nèi)容挑用戶?
有的用戶直接發(fā)就可以
~~~~ 怎么區(qū)分這個“有的”和下一個“有的”?
有的則需要做特殊處理以后發(fā)送過去
~~~~ ~~~~~~~~什么樣的特殊?
需要記錄日志
~~~~日志里是記錄已經(jīng)把什么內(nèi)容經(jīng)過什么處理發(fā)給哪個用戶了嗎?
然后還有可能希望做翻譯等其他的擴(kuò)展
~~~~~~~~~~~~~~~~~~ 這是你說的特殊處理的一種嗎?
這個怎么設(shè)計比較好呢?
【 在 credapple (自得其樂的蘋果) 的大作中提到: 】
: 你對那一句比較好奇
: 我可以解答一下
--
珍愛生命,遠(yuǎn)離IDE
※ 來源:·水木社區(qū) http://newsmth.net·[FROM: 61.49.10.*]
re: 公共法語上下冊及練習(xí)參考答案 zhrb 2008-03-07 10:48
下冊無法下載
re: 反對廈門PX項目 zhrb 2008-02-24 11:13
最后PX居然可能遷建,希望廈門市政府能越做越好...
re: 剛做出來的 struts 入門視頻 非常適合新人 zhrb 2008-01-20 14:28
的確打不開
re: 破解電信星空極速最簡單辦法 zhrb 2008-01-18 19:33
很不錯,收藏一下.呵呵
re: 反對廈門PX項目 zhrb 2007-12-07 13:07
@啊云
沒辦法....
根據(jù)歷史經(jīng)驗,到最后只能是老百姓自己一個人承擔(dān)...
沒辦法....
根據(jù)歷史經(jīng)驗,到最后只能是老百姓自己一個人承擔(dān)...
re: 畢業(yè)設(shè)計-java-tech-原創(chuàng) zhrb 2007-11-04 11:50
感覺挺不錯的...
能看看你的畢業(yè)設(shè)計和源代碼嗎?
能看看你的畢業(yè)設(shè)計和源代碼嗎?
re: 打造專業(yè)外觀-九宮圖 zhrb 2007-11-04 11:46
感覺挺不錯的
不過swt也可以跨平臺嗎?
印象中好像只有swing可以跨平臺
不過swt也可以跨平臺嗎?
印象中好像只有swing可以跨平臺
re: 讀書筆記-《Algorithms in Java》-第一章-07/10/11 zhrb 2007-11-02 20:58
@Raylong
一個是傅青翔老師的,還有一本是清華的
推薦算不上,不過你可以去看看
一個是傅青翔老師的,還有一本是清華的
推薦算不上,不過你可以去看看
re: Java語法總結(jié) - 方法 zhrb 2007-11-02 20:55
@Raylong
據(jù)說不叫覆蓋,叫隱藏,呵呵
據(jù)說不叫覆蓋,叫隱藏,呵呵
re: 有關(guān)方法返回一個很奇怪的問題 - 問題已解決 zhrb 2007-11-02 20:49
@Raylong
事實上,如果用位模式來比較是否相等的話,只要對兩個數(shù)進(jìn)行異或就好了,最多一次就好了
比較大小的話,可能比較麻煩吧( 還要考慮符號位,最少一次吧 )
可能真的是這樣.呵呵
事實上,如果用位模式來比較是否相等的話,只要對兩個數(shù)進(jìn)行異或就好了,最多一次就好了
比較大小的話,可能比較麻煩吧( 還要考慮符號位,最少一次吧 )
可能真的是這樣.呵呵
re: 讀書筆記-《Algorithms in Java》-第一章-07/10/12 zhrb 2007-11-02 09:58
1.2 List all the different ways to connect two different objects for the example in Figure 1.1.
啥意思啊?看不太懂...呵呵
connectivity problem 是不是指一個具體的問題呢?
啥意思啊?看不太懂...呵呵
connectivity problem 是不是指一個具體的問題呢?
re: 讀書筆記-《Algorithms in Java》-第一章-07/10/11 zhrb 2007-11-02 09:46
不知道有沒有中文版的?呵呵
英文畢竟沒那么順手
英文畢竟沒那么順手
re: Java語法總結(jié) - 方法 zhrb 2007-11-02 09:18
@Hank
我查了一下,好像不能覆蓋的
因為是static,無法執(zhí)行動態(tài)綁定(即在編譯的時候就已經(jīng)確定了)
我查了一下,好像不能覆蓋的
因為是static,無法執(zhí)行動態(tài)綁定(即在編譯的時候就已經(jīng)確定了)
re: 有關(guān)方法返回一個很奇怪的問題 - 問題已解決 zhrb 2007-11-02 09:06
@Raylong
我是覺得奇怪,為什么要這樣寫
for (int i = 0; ; i++) {
b.append(a[i]);
if (i == iMax)
return b.append(']').toString();
b.append(", ");
}
為什么不寫成
for (int i = 0;i<iMax ; i++) {
b.append(a[i]);
if (i < iMax - 1 ) b.append(", ");
}
return b.append(']').toString();
我感覺這樣更直觀啊。呵呵
不知道是不是出于效率上的考慮呢?
我是覺得奇怪,為什么要這樣寫
for (int i = 0; ; i++) {
b.append(a[i]);
if (i == iMax)
return b.append(']').toString();
b.append(", ");
}
為什么不寫成
for (int i = 0;i<iMax ; i++) {
b.append(a[i]);
if (i < iMax - 1 ) b.append(", ");
}
return b.append(']').toString();
我感覺這樣更直觀啊。呵呵
不知道是不是出于效率上的考慮呢?
re: Java語法總結(jié) - 索引 zhrb 2007-11-02 00:02
最近在看IO方面的,有點暈,你啥時候總結(jié)一些這個東西吧。hoho
re: 有關(guān)方法返回一個很奇怪的問題 - 問題已解決 zhrb 2007-11-01 23:55
@Raylong
個人認(rèn)為編譯器這樣設(shè)計肯定有他的道理
編譯器就應(yīng)該做他應(yīng)該做的事請,涉及復(fù)雜的語義的東西還是交給程序員,自作聰明可能反而把事情搞得復(fù)雜起來.呵呵
個人認(rèn)為編譯器這樣設(shè)計肯定有他的道理
編譯器就應(yīng)該做他應(yīng)該做的事請,涉及復(fù)雜的語義的東西還是交給程序員,自作聰明可能反而把事情搞得復(fù)雜起來.呵呵
re: 有關(guān)方法返回一個很奇怪的問題! zhrb 2007-11-01 21:53
@GrayWolf
不是這樣的,因為你的return語句在for里面,如果for中間加入任何判斷條件,除非這個判斷條件絕對為真(如空語句、ture、3>2),否則就有可能沒法執(zhí)行到這個循環(huán)中的return語句,編譯器顯然不允許這種情況發(fā)生,所以當(dāng)return語句只在循環(huán)體內(nèi)出現(xiàn),就不允許for循環(huán)中間的那個語句出現(xiàn)類似i<a這樣的充滿不確定性的判斷。簡單一句話,就是包含return的那個句子,至少要讓編譯器覺得,這個return是可以執(zhí)行到的,以減少出錯的可能。
不過即使這樣,還是架不住人們可能出現(xiàn)的語義上的錯誤,看下面這段代碼:
public static int max(int a, int b){
for(;;)
if (false) return a>b?a:b;
}
從語義上分析,return是無論如何也執(zhí)行不到的,但是編譯器看到for內(nèi)的語句肯定可以執(zhí)行,并且里面還有return語句,所以就想當(dāng)然的認(rèn)為沒錯。至于到底有沒有錯,自己回去想想、試試一下就知道了。呵呵
不是這樣的,因為你的return語句在for里面,如果for中間加入任何判斷條件,除非這個判斷條件絕對為真(如空語句、ture、3>2),否則就有可能沒法執(zhí)行到這個循環(huán)中的return語句,編譯器顯然不允許這種情況發(fā)生,所以當(dāng)return語句只在循環(huán)體內(nèi)出現(xiàn),就不允許for循環(huán)中間的那個語句出現(xiàn)類似i<a這樣的充滿不確定性的判斷。簡單一句話,就是包含return的那個句子,至少要讓編譯器覺得,這個return是可以執(zhí)行到的,以減少出錯的可能。
不過即使這樣,還是架不住人們可能出現(xiàn)的語義上的錯誤,看下面這段代碼:
public static int max(int a, int b){
for(;;)
if (false) return a>b?a:b;
}
從語義上分析,return是無論如何也執(zhí)行不到的,但是編譯器看到for內(nèi)的語句肯定可以執(zhí)行,并且里面還有return語句,所以就想當(dāng)然的認(rèn)為沒錯。至于到底有沒有錯,自己回去想想、試試一下就知道了。呵呵
re: Java語法總結(jié) - 方法 zhrb 2007-10-31 12:42
有一個技術(shù)點忘記了,如果父類的方法聲明為static類型的,那么子類可以覆蓋嗎?
re: 61條面向?qū)ο笤O(shè)計的經(jīng)驗原則 zhrb 2007-10-30 16:34
好東西,這個類的設(shè)計真的很有學(xué)問。呵呵
哪里有原文呢?
哪里有原文呢?
re: 07年第43周學(xué)習(xí)總結(jié) zhrb 2007-10-30 16:31
@Raylong
閻宏的《Java與模式》這本書還是很不錯的
閻宏的《Java與模式》這本書還是很不錯的
re: Java 中的堆和棧(轉(zhuǎn)) zhrb 2007-10-28 22:54
后面講述java的堆和棧操作,所謂的堆棧操作是不是就是棧操作?
re: Java語法總結(jié) - 內(nèi)部類 zhrb 2007-10-26 21:05
@Raylong
1.下面這段程序的main()方法是一個類的靜態(tài)方法
2.這段程序
Outer out = new Outer();
Outer.Inner in = out.new Inner();
創(chuàng)建了一個Outer類和Outer類的內(nèi)部類
所創(chuàng)建的Outer類和Outer類的內(nèi)部類形成了關(guān)聯(lián),而沒有跟1中的靜態(tài)方法所在的那個類發(fā)生什么關(guān)聯(lián)
public static void main(String[] args) {
Outer out = new Outer();
Outer.Inner in = out.new Inner();
//Outer.Inner in = new Outer().new Inner();
in.seeOuter();
}
1.下面這段程序的main()方法是一個類的靜態(tài)方法
2.這段程序
Outer out = new Outer();
Outer.Inner in = out.new Inner();
創(chuàng)建了一個Outer類和Outer類的內(nèi)部類
所創(chuàng)建的Outer類和Outer類的內(nèi)部類形成了關(guān)聯(lián),而沒有跟1中的靜態(tài)方法所在的那個類發(fā)生什么關(guān)聯(lián)
public static void main(String[] args) {
Outer out = new Outer();
Outer.Inner in = out.new Inner();
//Outer.Inner in = new Outer().new Inner();
in.seeOuter();
}
re: Java語法總結(jié) - 內(nèi)部類 zhrb 2007-10-25 21:06
下面這段準(zhǔn)確的說,應(yīng)該是使用某個外部類的靜態(tài)方法,去實例化另一個外部類的內(nèi)部類。而不能說是使用外部類的靜態(tài)方法去實例化該外部類的內(nèi)部類。
B、從外部類的靜態(tài)方法中實例化內(nèi)部類對象。
class Outer {
private int i = 10;
class Inner{
public void seeOuter(){
System.out.print(i);
}
}
public static void main(String[] args) {
Outer out = new Outer();
Outer.Inner in = out.new Inner();
//Outer.Inner in = new Outer().new Inner();
in.seeOuter();
}
}
B、從外部類的靜態(tài)方法中實例化內(nèi)部類對象。
class Outer {
private int i = 10;
class Inner{
public void seeOuter(){
System.out.print(i);
}
}
public static void main(String[] args) {
Outer out = new Outer();
Outer.Inner in = out.new Inner();
//Outer.Inner in = new Outer().new Inner();
in.seeOuter();
}
}
re: java刪除文件及目錄 zhrb 2007-10-22 17:12
遞歸的話,雖然簡單,但是太消耗資源了
不過當(dāng)作練手還是不錯的
不過當(dāng)作練手還是不錯的
re: Java語法總結(jié) - 字符串 zhrb 2007-10-22 12:15
@Raylong
我寫得那些只是部分的思考,后來陸續(xù)看了一些文章才發(fā)現(xiàn)那些理解還遠(yuǎn)遠(yuǎn)不夠
可能更深入的思考要在讀過、寫過大量的源代碼之后才有可能實現(xiàn)
你的blog很好,我會一直關(guān)注的。呵呵
我寫得那些只是部分的思考,后來陸續(xù)看了一些文章才發(fā)現(xiàn)那些理解還遠(yuǎn)遠(yuǎn)不夠
可能更深入的思考要在讀過、寫過大量的源代碼之后才有可能實現(xiàn)
你的blog很好,我會一直關(guān)注的。呵呵
re: 交口稱贊JAVA6學(xué)習(xí)文集3.0(CHM格式,有索引,能搜索,制作精美) zhrb 2007-10-22 09:18
麻煩給我發(fā)一個zhrubin@yahoo.com.cn
re: Java語法總結(jié) - 字符串 zhrb 2007-10-22 09:13
還不錯,幫忙頂頂。呵呵
re: Java1.5泛型指南中文版 zhrb 2007-10-22 09:03
收藏起來慢慢看....
re: 硬筆書法家解讀:怎樣寫好鋼筆字 zhrb 2007-10-22 08:52
以前練過一個月楷書,然后寫字起來跟小孩子一樣.....感覺沒有太大的進(jìn)步,唉,練字難啊
re: 交口稱贊JAVA6學(xué)習(xí)文集2.0發(fā)布(CHM格式,有索引,能搜索,制作精美) zhrb 2007-10-21 12:10
沒找到下載地址.....
re: 尋求從事過Java桌面的應(yīng)用的朋友解惑~ zhrb 2007-10-21 12:00
System.gc()只是告訴GC,要收集垃圾了,但是GC并不一定會按照其要求執(zhí)行垃圾收集的。事實上GC線程是一個優(yōu)先級別低的線程,如果你的CPU總是處于繁忙狀態(tài)的話GC未必能運行。
緩慢的話,可能有兩個原因:
1.程序?qū)懙貌缓茫斐蓛?nèi)存泄露。(沒錯,Java程序如果寫得不好也會造成內(nèi)存泄露的)
2.程序的架構(gòu)可能有問題,可以采用一些緩存之類的技術(shù)。
我也沒有實際經(jīng)驗,你可以去newsmth.org的Java版上去咨詢一下,那邊高手多。最好詳細(xì)貼出你的問題,采用什么結(jié)構(gòu)、技術(shù)、硬件資源、癥狀是什么。
緩慢的話,可能有兩個原因:
1.程序?qū)懙貌缓茫斐蓛?nèi)存泄露。(沒錯,Java程序如果寫得不好也會造成內(nèi)存泄露的)
2.程序的架構(gòu)可能有問題,可以采用一些緩存之類的技術(shù)。
我也沒有實際經(jīng)驗,你可以去newsmth.org的Java版上去咨詢一下,那邊高手多。最好詳細(xì)貼出你的問題,采用什么結(jié)構(gòu)、技術(shù)、硬件資源、癥狀是什么。
re: 讀書筆記《Thinking in Java》-第二、三章-07/10/16 zhrb 2007-10-21 00:31
@tomlove
其實我也覺得寫一個公式就好了...
類似于高中常作的題目一樣
其實我也覺得寫一個公式就好了...
類似于高中常作的題目一樣
re: 客串系統(tǒng)工程師 四日記<第二回> zhrb 2007-10-19 15:39
還不錯,多貼一些這種經(jīng)歷可以讓人長見識。呵呵
re: 讀書筆記《Thinking in Java》-第一章-07/10/14 zhrb 2007-10-18 11:58
看了一下java tutorial里面對接口的定義,底下附1:借口是抽取相互之間沒有關(guān)系的類的共同特征,而不用去關(guān)注類之間的關(guān)系。
我覺得這個是借口和抽象類最關(guān)鍵的區(qū)別,接口是希望一組沒有層次關(guān)系的類之間可以擁有共同的行為,而抽象類作為父類的話,自然希望其子類在邏輯上和父類是有一定的關(guān)系的。比如說一個抽象類,鳥,可以飛。我們現(xiàn)在想設(shè)計一架飛機(jī)也可以飛,雖然我們可以讓飛機(jī)這個類繼承自鳥這個抽象類,但是這兩個完全是風(fēng)馬牛不相及的東西,自然不應(yīng)該有繼承關(guān)系了。但如果是接口設(shè)計的話,我們可以設(shè)計出一個flyable的接口,里面定義fly的方法,因為鳥和飛機(jī)都可以飛,所以我們可以讓鳥和飛機(jī)類去implement這個flyable的接口。
java tutorial還有一個例子,比如說商店有若干種商品,各種商品之間一般不會有什么繼承關(guān)系,但是現(xiàn)在店主希望管理各種商品,所以店主希望所有的商品都實現(xiàn)一種可以稱為管理的接口,里面包含用于管理的一些方法和屬性,如價格、索引號這樣的屬性或者設(shè)置零售價格這樣的方法。這樣接口就巧妙的將各種不相關(guān)的類聯(lián)系起來了。所以接口給編程以極大的靈活性。
Java中還有一些常用借口,比如說comparable接口,任何類只要實現(xiàn)了這個接口,都可以被compare。(好像是這樣,不確定,有錯請指出)
不過附3,看不太懂,是什么意思。大家交流一下
附:You use an interface to define a protocol of behavior that can be implemented by any class anywhere in the class hierarchy. Interfaces are useful for the following:
1.Capturing similarities among unrelated classes without artificially forcing a class relationship
2.Declaring methods that one or more classes are expected to implement
3.Revealing an object's programming interface without revealing its class
4.Modeling multiple inheritance, a feature of some object-oriented languages that allows a class to have more than one superclass
@Raylong
我覺得這個是借口和抽象類最關(guān)鍵的區(qū)別,接口是希望一組沒有層次關(guān)系的類之間可以擁有共同的行為,而抽象類作為父類的話,自然希望其子類在邏輯上和父類是有一定的關(guān)系的。比如說一個抽象類,鳥,可以飛。我們現(xiàn)在想設(shè)計一架飛機(jī)也可以飛,雖然我們可以讓飛機(jī)這個類繼承自鳥這個抽象類,但是這兩個完全是風(fēng)馬牛不相及的東西,自然不應(yīng)該有繼承關(guān)系了。但如果是接口設(shè)計的話,我們可以設(shè)計出一個flyable的接口,里面定義fly的方法,因為鳥和飛機(jī)都可以飛,所以我們可以讓鳥和飛機(jī)類去implement這個flyable的接口。
java tutorial還有一個例子,比如說商店有若干種商品,各種商品之間一般不會有什么繼承關(guān)系,但是現(xiàn)在店主希望管理各種商品,所以店主希望所有的商品都實現(xiàn)一種可以稱為管理的接口,里面包含用于管理的一些方法和屬性,如價格、索引號這樣的屬性或者設(shè)置零售價格這樣的方法。這樣接口就巧妙的將各種不相關(guān)的類聯(lián)系起來了。所以接口給編程以極大的靈活性。
Java中還有一些常用借口,比如說comparable接口,任何類只要實現(xiàn)了這個接口,都可以被compare。(好像是這樣,不確定,有錯請指出)
不過附3,看不太懂,是什么意思。大家交流一下
附:You use an interface to define a protocol of behavior that can be implemented by any class anywhere in the class hierarchy. Interfaces are useful for the following:
1.Capturing similarities among unrelated classes without artificially forcing a class relationship
2.Declaring methods that one or more classes are expected to implement
3.Revealing an object's programming interface without revealing its class
4.Modeling multiple inheritance, a feature of some object-oriented languages that allows a class to have more than one superclass
@Raylong
re: 判斷字符串是否為數(shù)的幾種方法 zhrb 2007-10-18 11:14
是啊,這個更簡潔易懂,不知道我那時候為啥沒想到這個方法。可能是那時候好像是考慮String不能以0開頭的這個要求...
@Raylong
@Raylong
re: Java clone() zhrb 2007-10-17 23:46
講的很清楚,幫忙頂一下。呵呵...