前段時間在抽工作之空余,更加系統和深入的重新學習Java的1些技術知識。
最近也試著申請了1個專欄,對前段時間的1些收獲和知識點做1個系統性的歸納回顧和總結。
昨天也是剛剛寫完了關于Java中的各種基礎語言要素的總結,總覺得少了點甚么。
對基礎語言要素的理解和使用,實際上是很重要的。
俗語說,1切偉大的行動和思想,都源于1個微不足道的開始。
而對1門語言來講,熟練的掌握對其基礎語言要素的理解和使用,就是這個“微不足道的開始”
可以這樣說,1門語言的基礎語言要素,就同等因而1門武功的內功。
將自己的“內功”練到出神入化,剩下的,就只是招式(外功)而已了。
我在網上看到他人這樣解釋內功與外功的區分,覺得用于表達我想說的話,10分契合:
內功就像子彈,外功就像槍。
每一個人都會有子彈和槍,但問題是多少和優劣。
內功越強,子彈越多;外功越強,槍就越好。
其二者之間的關系就是,內功是基礎,決定外功建筑。
對應于Java當中來講則是:
基礎語言要素是根基;而我們所做的所謂的“編程”工作,實際就是通過根基創造使用招式而已。
回想最初學習Java時,1直沒能對這些基礎語言要素有足夠的重視,
也沒能對其有1個很系統性的分類歸納的理解,致使總覺得思路有點雜亂。
經常在想,怎樣樣可以對這些語言要素的概念和使用方式,有1個更形象的理解。
后來在漸漸深入的進程中,發現:
“編程”工作與我們在學生時期都經歷的“作文”工作實際上是很相似的。
舉例來講:
而:
所以我們不難發現,所謂的“作文題目”與“程序題目”。
歸納來說:實際上也就是1種“實現需求”罷了。
對2種不同的需求,我們所做的工作實際上都是“編寫文章”!不同的是,
1篇作文的構成可能通常包括:
同理的,1個Java類的構成通常包括:
我們將上面舉例說到的《我的父親》轉換為1個Java類的體現情勢,可能能讓我們更形象的進行理解:
該程序運行的輸出信息為:
記得小時候,有1次我發高燒!窗外下著大雨,也打不到車。萬分緊急之下,我的父親趕快拿出1件雨衣為我披上,背上我,冒著大雨把我從我家送到了醫院
請看了,我們不正是用Java語言寫了1篇“作文”嗎?
到此,我們通過以熟習的“作文”為切入點,了解了1個Java類的構成結構。
由此我們知道了:1個Java類的構成實際其實不復雜,它的結構通常就是類聲明、變量(常量)和方法(函數)。
而所謂的1個“復雜的類”就猶如“1篇幾萬字的文章”的原理1樣,不過就是:
1、觸及到的人、物更多 = 定義的變量常量更多
2、段落更多/描寫的故事情節更多 = 定義的方法(函數更多)
而對應的,以長篇小說為例。如果1篇文章的故事的字數已到達了1定范圍,那末可能就會影響瀏覽性。這個時候,我們就能夠進1步的對其進行“分解”。
例如1本自傳體的長篇小說,1個人1生中可以描寫的情節有很多,那末它可能被搭建成以下結構:
有10篇用于描寫其青年時期業績的故事,我們將其提取出來放在1起,構成小說的第1篇:《我的青年時期》
有10篇用于描寫其中年時期業績的故事,我們也將其提取出來,作為小說的第2篇:《我的中年時期》..
從而以此類推。終究這個結構的總和被我們稱作“小說”。
Java中,也是1樣的。如果多個類綜合完成同1方面的功能實現,
那末我們也能夠將這些類提取出來,構成1個“篇章”,Java中的包結構就是這個“篇章”。
而終究由多個包結構組合起來的全部程序,就是所謂的1個完全的Java項目。
再壯觀的高樓大廈,究其根本也不過就是由眾多數量的鋼精水泥搭建起來的。
而建筑師能做的就是通過設計手段(招式)讓大樓的結構更加穩固,美觀和實用。
我們談到,之所以對1篇長篇小說進行這樣的結構搭建。是由于當文章字數到達1定量的時候,就會影響瀏覽性,其主題也會模糊。
所以在Java中也是一樣的道理,這1定程度上也是“代碼重構”的初衷之1。類應當具有足夠的功能特性化。
前面我們說到的是程序的結構,但同時我更想重點談到的是Java的基礎語言要素的使用。
但是在了解了程序的結構以后,我們相對就更容易了解基礎語言要素的意義了。
一樣以作文為例,了解作文結構是必要的。但我們還應當做的,就是以結構為切入點,
繼續深入看1篇作文的基礎要素與基礎成份,也就是是:標點符號,詞語,語句之類的東西。
由于即便你對作文結構的研究再深,如果不會使用文字,不會使用標點,不會書寫語句,那1切都是空談。
同理,假定我們要搭建1所房屋。需要了解房屋的結構構成要有臥室,廚房,浴室,客廳。
但僅僅是了解這樣的結構,或許足夠成為1名在紙上畫房屋結構設計圖的設計師;但還不足以讓你真的搭建出1所房子。
要成功的搭建出房子,還需要了解房屋的構建成份也就是材料,猶如水泥,鋼筋,1些建材等等。
那末對應到Java中來講,其實也是1樣的道理。
而Java為我們提供的材料(基礎語言要素),包括:
標示符、關鍵字、注釋、常量(變量)、運算符、表達式和程序語句。
到了這里我們再對前面說到的“類聲明、變量、方法”的Java類的結構構成,進行成份分析:
類聲明 = 訪問修飾符關鍵字 + 類聲明關鍵字 + 類名標示符。
變量(常量) 的聲明 = 訪問修飾符關鍵字 + 數據類型(基本數據類型或對象數據類型) + 賦值運算符 + 變量或常量的值
方法的聲明 = 訪問修飾符關鍵字 + 類/變量/方法修飾符關鍵字 + 返回類型關鍵字 + 方法名標示符 + 方法參數列表(局部變量)
而方法的內容通常就是通過對:運算符、表達式、程序語句(簡單語句和復合語句)組成“招式”,完成對數據(變量等)的操作。
由此我們簡單的總結1下,1個Java程序的編寫工作,實際通常就是:
根據“需求”,通過對Java基礎語言要素(示符、關鍵字、注釋、常量(變量)、運算符、表達式和程序語句)的使用,組成“招式”。
寫1篇結構為:題目(類聲明) + 人、物、地點(變量/常量聲明) + 段落(方法/函數)的“作文”。
上一篇 ubuntu12.04運維備忘
下一篇 正則表達式