Linux&Java

          Java Learning Path(四) 方法篇

          Java作為一門編程語言,最好的學習方法就是寫代碼。當你學習一個類以后,你就可以自己寫個簡單的例子程序來運行一下,看看有什么結(jié)果,然后再多調(diào)用幾個類的­方法,看看運行結(jié)果,這樣非常直觀的把類給學會了,而且記憶非常深刻。然后不應(yīng)該滿足把代碼調(diào)通,你應(yīng)該想想看如果我不這樣寫,換個方式,再試試行不行。記得哪­個高人說過學習編程就是個破壞的過程,把書上的例子,自己學習Documentation編寫的例子在運行通過以后,不斷的嘗試著用不同的方法實現(xiàn),不斷的嘗試­破壞代碼的結(jié)構(gòu),看看它會有什么結(jié)果。通過這樣的方式,你會很徹底的很精通的掌握Java。

          舉個例子,我們都編過Hello World

          public class HelloWorld {
          public static void main(String[] args) {
          System.out.println("Hello World");

          }
          }

          很多初學者不是很理解為什么main方法一定要這樣來定義public
          static void main(String[]
          args),能不能不這樣寫?包括我剛學習Java的時候也有這樣的疑問。想知道答案嗎?很簡單,你把main改個名字運行一下,看看報什么錯誤,然后根據(jù)出錯­信息進行分析;把main的public取掉,在試試看,報什么錯誤;static去掉還能不能運行;不知道m(xù)ain方法是否一定要傳一個String[]數(shù)組­的,把String[]改掉,改成int[],或者String試試看;不知道是否必須寫args參數(shù)名稱的,也可以把args改成別的名字,看看運行結(jié)果如何­。

          我當初學習Java的時候就是這樣做的,把Hello
          World程序反復(fù)改了七八次,不斷運行,分析運行結(jié)果,最后就徹底明白為什么了main方法是這樣定義的了。

          此外,我對于staic,public,private,Exception,try{ }catch
          {}finally{}等等等等一開始都不是很懂,都是把參考書上面的例子運行成功,然后就開始破壞它,不斷的根據(jù)自己心里面的疑問來重新改寫程序,看看能不能­運行,運行出來是個什么樣子,是否可以得到預(yù)期的結(jié)果。這樣雖然比較費時間,不過一個例子程序這樣反復(fù)破壞幾次之后。我就對這個相關(guān)的知識徹底學通了。有時候甚­至故意寫一些錯誤的代碼來運行,看看能否得到預(yù)期的運行錯誤。這樣對于編程的掌握是及其深刻的。

          其中特別值得一提的是JDK有一個非常棒的調(diào)試功能,-verbose

          java -verbose
          javac -verbose 以及其它很多JDK工具都有這個選項
          -verbose
          可以顯示在命令執(zhí)行的過程中,JVM都依次加載哪里Class,通過這些寶貴的調(diào)試信息,可以幫助我們分析出JVM在執(zhí)行的過程中都干了些什么。

          另外,自己在學習過程中,寫的很多的這種破壞例程,應(yīng)該有意識的分門別類的保存下來,在工作中積累的典型例程也應(yīng)該定期整理,日積月累,自己就有了一個代碼庫了­。遇到類似的問題,到代碼庫里面
          Copy & Paste ,Search &
          Replace,就好了,極大提高了開發(fā)速度。最理想的情況是把一些通用的例程自己再抽象一層,形成一個通用的類庫,封裝好。那么可復(fù)用性就更強了。

          所以我覺得其實不是特別需要例程的,自己寫的破壞例程就是最好的例子,如果你實在對自己寫的代碼不放心的話,我強烈推薦你看看JDK基礎(chǔ)類庫的Java源代碼。­在JDK安裝目錄下面會有一個src.zip,解開來就可以完整的看到整個JDK基礎(chǔ)類庫,也就是rt.jar的Java源代碼,你可以參考一下Sun是怎么寫­Java程序的,規(guī)范是什么樣子的。我自己在學習Java的類庫的時候,當有些地方理解的不是很清楚的時候,或者想更加清晰的理解運作的細節(jié)的時候,往往會打開­相應(yīng)的類的源代碼,通過看源代碼,所有的問題都會一掃而空。

          posted on 2005-10-16 12:59 Linux&Java 閱讀(188) 評論(0)  編輯  收藏 所屬分類: Java相關(guān)

          主站蜘蛛池模板: 鹤峰县| 宜君县| 蒙阴县| 贡嘎县| 鄢陵县| 蛟河市| 德庆县| 安国市| 文登市| 和田县| 林甸县| 龙江县| 长沙市| 西华县| 榆社县| 开鲁县| 井陉县| 唐山市| 新源县| 聂荣县| 新郑市| 绩溪县| 措勤县| 桂阳县| 新巴尔虎左旗| 图木舒克市| 石柱| 宁都县| 宜兰县| 洪湖市| 镶黄旗| 庐江县| 榕江县| 宝清县| 抚州市| 永州市| 彭州市| 比如县| 聂荣县| 昆明市| 海口市|