?? 轉(zhuǎn):《學(xué)不會(huì)的java,消不了的憂愁》之四.txt
字號(hào):
作者:NOVEMBER RAIN
email: haoy@dongyu.com.cn
日期:2001-5-9 17:34:09
《學(xué)不會(huì)的JAVA,消不了的憂愁》之四——獻(xiàn)給那些酷愛計(jì)算機(jī)編程的人們
發(fā)言者:jigenghua
時(shí) 間:2001/03/12 23:01:47 來 自:www.javaunion.org
--------------------------------------------------------------------------------
這一回,我不想談那么多的感概了,我用自己的話來說說java,請(qǐng)大家來做幾道判斷題,認(rèn)為對(duì)的,你可以不開聲,認(rèn)為錯(cuò)的,可不要忘了指出來。所有這樣問題,面向像我一樣的菜鳥,大蝦也可以看看。
學(xué)習(xí)一和編程語言,不外乎兩種背景:其一,興趣愛好;其二,工作需要。在學(xué)校里,可能還有第三種背景——那就是必修課程。
在我看來,憑興趣愛好學(xué)的東西學(xué)得很快,印象也很深,但沒有很好地結(jié)合實(shí)踐應(yīng)用,自己也想不出什么真正有價(jià)值的課題去實(shí)現(xiàn)它,所以這種知識(shí)水平并不是很高。我見過很多這樣的朋友,他們對(duì)VFP、VC的道理懂得真不少,可一問到一些真正有用的東西,他們回答得總是那么不盡人意。我曾經(jīng)深愛著C,也會(huì)用它編一些簡單的小程序,不過,從來就沒有用它做過什么工程,所以,在外面應(yīng)聘的時(shí)候,我不敢說我精通C,雖然知道自己的C水平很不錯(cuò)了。不過呢,話又說回來,一旦有了理論水平和基本功,真正遇到難題的時(shí)候,往往都能很快解決,所以憑興趣愛好掌握的東西用途也是挺大的。
相反,因?yàn)楣ぷ鞯男枰约翰坏貌蝗フ莆盏臇|西一旦自己搞懂了,印象會(huì)更深刻。由于所有的“知識(shí)”都是建立在以“用”的基礎(chǔ)上,掌握到了的東西就是活生生用得到的、看得到的東西,所以談不上什么學(xué)不致用的問題。這種知識(shí)處處以實(shí)踐為基礎(chǔ),一分錢一分貨,最能解決實(shí)際問題,這也就是用工單位為什么那么注重實(shí)際工作經(jīng)驗(yàn)的真正原因:招到有經(jīng)驗(yàn)的老手,新工作上手很快,工作質(zhì)量也很高!(我沒有什么學(xué)歷,中專生一個(gè),但我早在95年的時(shí)候就開始用Fox真槍實(shí)刀地干,半工半讀,為工商所、商場、酒店、制造廠、甚至我的校圖書館免費(fèi)開發(fā)了一個(gè)又一個(gè)的數(shù)據(jù)庫應(yīng)用軟件,這些軟件,在我們江西內(nèi)地,大多數(shù)至今還活得挺好的。這么多的軟件,為我98年四月份在深圳能找到一份別人看來復(fù)雜、而我看來一般般的數(shù)據(jù)庫網(wǎng)絡(luò)編程工作打下了了不起的基礎(chǔ)。來到這里不到半年,一家很大的電子廠,不知是通過什么渠道,連打三次電話給我,叫我過去幫他們搞編程,我想學(xué)java,不想再搞VFP了,所以沒有答應(yīng),雖然對(duì)方開的報(bào)酬比我現(xiàn)在要高一個(gè)檔次。)我的經(jīng)歷告訴我,學(xué)歷并不是很重要的,關(guān)鍵是真正的水平,你能帶著你親手制作出來的CPU芯片到聯(lián)想去應(yīng)聘,哪怕你從來沒有進(jìn)過校門,柳傳志也會(huì)叫你一聲干爹。明白了能力的“妹”力以后,我不再刻意追求什么本科學(xué)歷、研究生學(xué)歷,我只想好好學(xué)點(diǎn)有用的東西,用能力向別人展現(xiàn)自己的風(fēng)采!(有點(diǎn)吃不到葡萄就不吃葡萄的心態(tài))
至于第三種學(xué)習(xí)知識(shí)的方法——為了修完課程而學(xué),通過這種方式來掌握知識(shí),基本上沒有什么好談的了,一句話,沒有什么用啦!或許我講的太武斷太偏激。
我學(xué)JAVA,既不完全是憑興趣愛好,也不是因?yàn)楣ぷ鲏旱梅菍W(xué)不可,只是基于學(xué)JAVA的一種潮流,和不久的將來的工作需要,錯(cuò)過了學(xué)VC、VB的瘋狂時(shí)代,也錯(cuò)過了學(xué)CGI、ASP的關(guān)鍵歲月,我不能再錯(cuò)過JAVA,我輸不起!
正是因?yàn)橐陨系脑颍野袹AVA建立在將來的應(yīng)用上,所以學(xué)得不是那么的累,人沒有壓力學(xué)東西往往很慢。一個(gè)面向?qū)ο蟮母拍睿戳艘槐橛忠槐椋坏幻鳌懊嫦驅(qū)ο蟆笔呛挝铮B對(duì)象是什么東東,都似懂非懂,還以為面向?qū)ο笫前涯樏嫦蛑鴮?duì)象(Face to object),就算這樣理解,面向著對(duì)象干什么?發(fā)神經(jīng)啊?很多很多的書,標(biāo)題寫得不錯(cuò)——“什么叫面向?qū)ο蟆保只颉懊嫦驅(qū)ο蟮母拍睢保煽赐曛螅€是一頭霧水。
最令人惱火的是很多書對(duì)類(Class)的定義:具有相同特性的多個(gè)對(duì)象的一個(gè)實(shí)體。去他奶奶的,老子連對(duì)象還不太懂,就用對(duì)象來說明類的定義,還加上一個(gè)怪異的詞語——實(shí)體。這樣的定義能說明什么問題?也許是寫書的人太聰明了,以為大家的頭腦都是抽象的,不會(huì)想木頭、石頭、狼和兔子之類的具體東西。
他完全可以想到這個(gè)詞:模板,用模板代替實(shí)體,就成了類是具有相同特性的多個(gè)對(duì)象的一個(gè)模板,這樣呆板的解釋,當(dāng)然不能讓初學(xué)者對(duì)類這個(gè)重中之重的概念留下難于忘懷的印象。假如他能像我這樣解釋,請(qǐng)看下文:
傳說中上帝造人是用模子來造的,上帝造人用的模子就是類(Class),當(dāng)然模子也不是天生的,由上帝根據(jù)自己的想象制作,作好了模子以后,造人可就方便啦,幾乎不用動(dòng)腦筋,泥巴往模子里一丟,一個(gè)人就出來了,出來了的這個(gè)人就有了眼情啦、鼻子啦、耳朵啦,等等,最重要的是,這個(gè)人會(huì)說話,會(huì)唱歌、跳舞......
以上這個(gè)例子中,類就是模子,專門用來制作一些有很多共同點(diǎn)的實(shí)物,用模子造東西的最大好處就是可以偷懶,一勞永逸,用類來開發(fā)軟件的妙處也正在于此。模子造出來(對(duì)“造出來”這三個(gè)字打上著重號(hào),引起讀者的注意)的東西有一個(gè)響亮的名字:對(duì)象或?qū)嵗虼耍趈ava里面,我們講的對(duì)象或?qū)嵗际侵敢呀?jīng)用類制作好了的。用類制作對(duì)象這個(gè)動(dòng)作,也有一個(gè)各位不太好懂的名字——類的實(shí)例化,或叫類的一個(gè)實(shí)現(xiàn),好聽嗎?你們可要記在心里。
不知大家是否注意到,我上面說過,上帝用類造出人這種對(duì)象具有很多很多的特性,像眼情有大、眉毛有多長、牙齒有幾顆、人長得是否靚仔等等叫做對(duì)象的屬性(Attribute),一個(gè)對(duì)象視它簡單與復(fù)雜,屬性可以沒有一個(gè),也可以有多個(gè)。而人會(huì)說話、會(huì)打架、會(huì)談戀愛……這些涉及到動(dòng)作的行為叫做對(duì)象的能力(Ability),但在JAVA里面叫做對(duì)象的方法(Method),假如你的思想被VC化,你把它暫時(shí)理解為函數(shù)也不是不可以的。
通常我們講的“面向?qū)ο缶幊獭边@種方法,或說這種思想,就是要求大家學(xué)習(xí)上帝造人這種方式、這種思想,把所有程序分成一個(gè)一個(gè)的功能塊,有些功能塊不僅你正在編寫的這個(gè)程序用得到,將來編寫的其它程序也可能用得到,正是你會(huì)這么想,把一些通用的功能塊抽出來、概括出來,用一個(gè)獨(dú)立的、能被其它類制造時(shí)調(diào)用的名字命名它。用這種思想去設(shè)計(jì)程序,叫什么面向?qū)ο缶幊蹋∣OP)。
這一貼,我講了學(xué)知識(shí)的三種背景,不同的背景學(xué)知識(shí)會(huì)有不同的方法,從面產(chǎn)生不同的效果。
我也介紹了類、對(duì)象、面向?qū)ο缶幊獭?duì)象的屬性、對(duì)象的方法這些基本的概念,大家懂了嗎?
下一貼,我將接著介紹類庫的概念,還有父類、子類、類與類之間的遺傳(繼承),并教大家怎樣快速用JDK這個(gè)工具
開發(fā)小程序。雖然有很多的可視化開發(fā)工具可以用來開發(fā)JAVA軟件,但不懂使用JDK工具的JAVA開發(fā)人員,跟只懂Linux的X Windows不懂它的shell操作一樣,屬于低能的操作員。
所有這些貼子,都是出自于個(gè)人愛好,連載出來,目的只有一個(gè):為了別人,也為了自己把JAVA學(xué)好!
請(qǐng)看下貼《學(xué)不會(huì)的JAVA,消不了的憂愁》之五——獻(xiàn)給那些酷愛計(jì)算機(jī)編程的人們。
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -