Java學(xué)習(xí)從基礎(chǔ)到精通 4方法篇
發(fā)表時(shí)間:2024-05-17 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]Java Learning Path(四) 方法篇 Java作為一門(mén)編程語(yǔ)言,最好的學(xué)習(xí)方法就是寫(xiě)代碼。當(dāng)你學(xué)習(xí)一個(gè)類(lèi)以后,你就可以自己寫(xiě)個(gè)簡(jiǎn)單的例子程序來(lái)運(yùn)行一下,看看有什么結(jié)果,然后再多調(diào)用幾個(gè)類(lèi)的方法,看看運(yùn)行結(jié)果,這樣非常直觀的把類(lèi)給學(xué)會(huì)了,而且記憶非常深刻。然后不應(yīng)該滿足把代碼調(diào)通,...
Java Learning Path(四) 方法篇
Java作為一門(mén)編程語(yǔ)言,最好的學(xué)習(xí)方法就是寫(xiě)代碼。當(dāng)你學(xué)習(xí)一個(gè)類(lèi)以后,你就可以自己寫(xiě)個(gè)簡(jiǎn)單的例子程序來(lái)運(yùn)行一下,看看有什么結(jié)果,然后再多調(diào)用幾個(gè)類(lèi)的方法,看看運(yùn)行結(jié)果,這樣非常直觀的把類(lèi)給學(xué)會(huì)了,而且記憶非常深刻。然后不應(yīng)該滿足把代碼調(diào)通,你應(yīng)該想想看如果我不這樣寫(xiě),換個(gè)方式,再試試行不行。記得哪個(gè)高人說(shuō)過(guò)學(xué)習(xí)編程就是個(gè)破壞的過(guò)程,把書(shū)上的例子,自己學(xué)習(xí)Documentation編寫(xiě)的例子在運(yùn)行通過(guò)以后,不斷的嘗試著用不同的方法實(shí)現(xiàn),不斷的嘗試破壞代碼的結(jié)構(gòu),看看它會(huì)有什么結(jié)果。通過(guò)這樣的方式,你會(huì)很徹底的很精通的掌握J(rèn)ava。
舉個(gè)例子,我們都編過(guò)Hello World
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
很多初學(xué)者不是很理解為什么main方法一定要這樣來(lái)定義public static void main(String[] args),能不能不這樣寫(xiě)?包括我剛學(xué)習(xí)Java的時(shí)候也有這樣的疑問(wèn)。想知道答案嗎?很簡(jiǎn)單,你把main改個(gè)名字運(yùn)行一下,看看報(bào)什么錯(cuò)誤,然后根據(jù)出錯(cuò)信息進(jìn)行分析;把main的public取掉,在試試看,報(bào)什么錯(cuò)誤;static去掉還能不能運(yùn)行;不知道m(xù)ain方法是否一定要傳一個(gè)String[]數(shù)組的,把String[]改掉,改成int[],或者String試試看;不知道是否必須寫(xiě)args參數(shù)名稱(chēng)的,也可以把a(bǔ)rgs改成別的名字,看看運(yùn)行結(jié)果如何。
我當(dāng)初學(xué)習(xí)Java的時(shí)候就是這樣做的,把Hello World程序反復(fù)改了七八次,不斷運(yùn)行,分析運(yùn)行結(jié)果,最后就徹底明白為什么了main方法是這樣定義的了。
此外,我對(duì)于staic,public,private,Exception,try{ }catch {}finally{}等等等等一開(kāi)始都不是很懂,都是把參考書(shū)上面的例子運(yùn)行成功,然后就開(kāi)始破壞它,不斷的根據(jù)自己心里面的疑問(wèn)來(lái)重新改寫(xiě)程序,看看能不能運(yùn)行,運(yùn)行出來(lái)是個(gè)什么樣子,是否可以得到預(yù)期的結(jié)果。這樣雖然比較費(fèi)時(shí)間,不過(guò)一個(gè)例子程序這樣反復(fù)破壞幾次之后。我就對(duì)這個(gè)相關(guān)的知識(shí)徹底學(xué)通了。有時(shí)候甚至故意寫(xiě)一些錯(cuò)誤的代碼來(lái)運(yùn)行,看看能否得到預(yù)期的運(yùn)行錯(cuò)誤。這樣對(duì)于編程的掌握是及其深刻的。
其中特別值得一提的是JDK有一個(gè)非常棒的調(diào)試功能,-verbose
java ?Cverbose
javac ?Cverbose 以及其它很多JDK工具都有這個(gè)選項(xiàng)
-verbose 可以顯示在命令執(zhí)行的過(guò)程中,JVM都依次加載哪里Class,通過(guò)這些寶貴的調(diào)試信息,可以幫助我們分析出JVM在執(zhí)行的過(guò)程中都干了些什么。
另外,自己在學(xué)習(xí)過(guò)程中,寫(xiě)的很多的這種破壞例程,應(yīng)該有意識(shí)的分門(mén)別類(lèi)的保存下來(lái),在工作中積累的典型例程也應(yīng)該定期整理,日積月累,自己就有了一個(gè)代碼庫(kù)了。遇到類(lèi)似的問(wèn)題,到代碼庫(kù)里面 Copy & Paste ,Search & Replace,就好了,極大提高了開(kāi)發(fā)速度。最理想的情況是把一些通用的例程自己再抽象一層,形成一個(gè)通用的類(lèi)庫(kù),封裝好。那么可復(fù)用性就更強(qiáng)了。
所以我覺(jué)得其實(shí)不是特別需要例程的,自己寫(xiě)的破壞例程就是最好的例子,如果你實(shí)在對(duì)自己寫(xiě)的代碼不放心的話,我強(qiáng)烈推薦你看看JDK基礎(chǔ)類(lèi)庫(kù)的Java源代碼。在JDK安裝目錄下面會(huì)有一個(gè)src.zip,解開(kāi)來(lái)就可以完整的看到整個(gè)JDK基礎(chǔ)類(lèi)庫(kù),也就是rt.jar的Java源代碼,你可以參考一下Sun是怎么寫(xiě)Java程序的,規(guī)范是什么樣子的。我自己在學(xué)習(xí)Java的類(lèi)庫(kù)的時(shí)候,當(dāng)有些地方理解的不是很清楚的時(shí)候,或者想更加清晰的理解運(yùn)作的細(xì)節(jié)的時(shí)候,往往會(huì)打開(kāi)相應(yīng)的類(lèi)的源代碼,通過(guò)看源代碼,所有的問(wèn)題都會(huì)一掃而空。
Java Learning Path(五)資源篇
1、 http://java.sun.com/ (英文)
Sun的Java網(wǎng)站,是一個(gè)應(yīng)該經(jīng)常去看的地方。不用多說(shuō)。
2、 http://www-900.ibm.com/developerWorks/cn/
IBM的developerWorks網(wǎng)站,英語(yǔ)好的直接去英文主站點(diǎn)看。這里不但是一個(gè)極好的面向?qū)ο蟮姆治鲈O(shè)計(jì)網(wǎng)站,也是Web Services,Java,Linux極好的網(wǎng)站。強(qiáng)烈推薦。。
3、 http://www.java-cn.com/ (中文)
JAVA中文站,目前國(guó)內(nèi)資料最全、會(huì)員最多的JAVA技術(shù)網(wǎng)站,人氣極高。有《JAVA電子書(shū)庫(kù)》、《JAVA視頻庫(kù)》(國(guó)內(nèi)唯一)、《JAVA技術(shù)文摘庫(kù)》、《JAVA源代碼庫(kù)》、《JAVA工具庫(kù)》、《招聘求職廣場(chǎng)》等主要欄目,還有一些專(zhuān)家欄目。目前會(huì)員有5萬(wàn)多,VIP會(huì)員近1000人。無(wú)論是菜鳥(niǎo)還是老鳥(niǎo),都能在此網(wǎng)站中找到自己所需要的東東! 最強(qiáng)烈推薦!。。。。
4、 http://www.javaworld.com/ (英文)
關(guān)于Java很多新技術(shù)的討論和新聞。想多了解Java的方方面面的應(yīng)用,這里比較好。
5、 http://dev2dev.bea.com.cn/index.jsp
BEA的開(kāi)發(fā)者園地,BEA作為最重要的App Server廠商,有很多獨(dú)到的技術(shù),在Weblogic上做開(kāi)發(fā)的朋友不容錯(cuò)過(guò)。
6、 http://www.huihoo.com/
灰狐動(dòng)力網(wǎng)站,一個(gè)專(zhuān)業(yè)的中間件網(wǎng)站,雖然不是專(zhuān)業(yè)的Java網(wǎng)站,但是在J2EE企業(yè)應(yīng)用技術(shù)方面有深厚的造詣。
7、 http://www.theserverside.com/home/ (英文)
TheServerSide是一個(gè)著名的專(zhuān)門(mén)面向Java Server端應(yīng)用的網(wǎng)站。
8、 http://www.javaresearch.org/
Java研究組織,有很多優(yōu)秀的Java方面的文章和教程,特別是在JDO方面的文章比較豐富。
9、 http://www.cnjsp.org/
JSP技術(shù)網(wǎng)站,有相當(dāng)多的Java方面的文章和資源。
10、 http://www.jdon.com/
Jdon論壇,是一個(gè)個(gè)人性質(zhì)的中文J2EE專(zhuān)業(yè)技術(shù)論壇,在眾多的Java的中文論壇中,Jdon一個(gè)是技術(shù)含量非常高,帖子質(zhì)量非常好的論壇。
11、 http://sourceforge.net/
SourgeForge是一個(gè)開(kāi)放源代碼軟件的大本營(yíng),其中也有非常非常豐富的Java的開(kāi)放源代碼的著名的軟件。