一個屌絲程式猿的人生(39)

左瀟龍發表於2016-10-23

本系列:第 1 篇 、第 2 篇第 3 篇(4)(5)(6)(7)(8)(9)10)(11)(12)(13)(14)(15)(16)(17)(18)(19)(20)(21)(22)(23)(24)(25)(26)(27)(28)(29)(30)(31)(32)(33)(34)(35)(36)(37)(38)


有史曉玲這麼一位顏值不錯的妹子常伴左右,換作一般人還真的很難靜下心來學習,但是林蕭卻很清楚,在眼前的情況下,撩妹和學習到底孰輕孰重。

更何況,這妹子可是懷了張亮的孩子的,就算是要撩妹,林蕭也還沒到飢不擇食的地步,拿自己兄弟的妹子下手。

這事兒特麼不地道啊!

於是,心無旁鷺的林蕭,在結束了Java基礎的學習之後,立即便開始了接下來的視訊學習。

……

緊接著Java基礎的一章,是Java高階特性。

不知為何,程式猿總會對這些聽起來很牛逼的詞彙感興趣,因此,一看到“高階特性”四個字,林蕭立馬就來了精神。

然而事實上,真正牛逼的東西,往往不是那麼好理解的。至少對於一個初入Java領域的菜鳥來說,“高階特性”這四個字還是太過深奧了一些。

就說“高階特性”中最開始的內容吧,物件導向的三個重要特性,繼承、封裝以及多型。

其中繼承其實已經是最好理解的一個了,原因是繼承在現實中的例子實在是太多了,最典型的就是父子之間的關係。

兒子會繼承老爸身上某一部分的特徵,並且還會擁有老爸身上所沒有的一些特點。這正是詮釋著,子類可以繼承父類的屬性和方法,並且通常還會擁有父類所沒有的一些屬性和方法。

與此同時,兒子雖然可以繼承老爸的一些特徵,但也並不是所有特徵都可以繼承的。因此,這也正是詮釋著,子類只能繼承父類部分的屬性和方法,一些隱藏比較深的,例如被private所修飾的,子類也是繼承不了的。

知道繼承的以上兩點,對於一個新人來說,就基本上足夠了。至於一些有關繼承比較高階的用法,例如模板方法模式這種的,就只能在以後的路上,慢慢研究去了。

封裝相較於繼承,會比較難理解一些。不過對於很抽象很難理解的知識,林蕭有自己的辦法,那就是找相似的事物。

因為林蕭相信,世間萬物都是相通的,任何一個知識點,你總能在其它領域找到相似的。

就說談戀愛這回事吧,都說沒有最好的,只有最合適的,這句話,其實也同樣可以適用於找工作,這就是一個最簡單的道理相通的例子。

知道了這一點之後,如何找到一個合適的例子,就比較關鍵了。

關於封裝的現例項子,其實說起來還是蠻多的。就說叫外賣這件事吧,其實賣家就充分體現了封裝的思想。

那麼賣家到底封裝了哪些東西?

很顯然,大致包括了買菜、洗菜、做飯、送飯等等一系列的動作,而你只需要付錢給外賣員,就可以吃到香噴噴的飯菜。你不需要知道如何買菜,如何做飯等等這些瑣碎的事情,你要做的就一件事,就是掏錢!

這就是現實中封裝的思想,也就是所謂的一站式服務。

對應到程式設計世界,其實也是一樣的,一個類要儘可能把自己的服務細節隱藏起來,不對外部暴露,讓外部的類只需要“付錢”,就可以方便的呼叫服務即可。

隱藏細節,這其實就是封裝的核心思想了。

三大特性中,繼承和封裝都說完了,還剩下最後一個特性,也是最難理解的一個。

多型在很多人剛接觸Java時,都難免會覺得懵逼,林蕭也不例外。儘管他一直在試圖理解“不同的型別有不同的表現”這句話,但其實他在當時,始終都沒有理解到多型的本質。

多型的本質其實用一句話就可以概括,就是“編譯時和執行時才決定物件的行為”,俗稱為靜態分派和動態分派。

很多人第一次看到這兩個詞的時候,應該比看到多型更加懵逼,但其實沉下心來去想想,這兩個詞其實非常好理解。

不過理解的前提是,你要非常清楚一個Java程式從編寫到執行的過程,簡單的說,這個過程就是編譯和執行。

而靜態分派和動態分派的本質就是,靜態分派是編譯期間就可以決定的,而動態分派則是執行期間才可以決定的。

要理解編譯期和執行期其實也非常好理解,你可以把計算機看做是一個英國人,而你是一箇中國人,程式就是你寫的一篇文章。

那麼計算機要想執行你的程式,也就相當於英國人要想讀你的文章。

那就首先得有人把你的文章翻譯成英文,這個過程就相當於編譯的過程。這個負責翻譯的人,在現實裡就叫翻譯員,而在程式世界裡,就是編譯器。

當文章被翻譯成英文以後,英國人就開始閱讀你的文章,也就相當於計算機開始執行你的程式。

而對於Java程式來說,編譯器其實就是javac,而所謂的計算機,其實就是JVM。

理解這個最基本的編譯和執行的過程,靜態分派和動態分派就很好理解了。而理解了靜態分派和動態分派,多型就非常好理解了。

當然了,這些知識,對於初學Java的林蕭來說,當然是不太可能徹底理解的,不過這其實並無大礙,學習本身就是一個循序漸進的過程。

……

說起來,林蕭也算是夠拼命的,自從開始培訓以後,幾乎就變成了足不出戶的骨灰級宅男,與當初在家裡玩遊戲的時候,簡直是如出一撤。

一天下來,除了上廁所和拿外賣以外,林蕭幾乎可以做到坐在椅子上一動不動。這種驚人的毅力和懶的程度,如果不是以前玩遊戲早已經習慣了的話,說不定林蕭還真堅持不下來。

但是,這種生活雖然看起來挺苦逼的,林蕭卻非常樂在其中。而且,遊戲所帶來的快感,與知識所帶來的快感相比,始終缺少了一種充實感。

這種充實感,可以幫你驅散孤獨,也會讓你有種,未來掌握在自己手裡的安全感。

此時此刻,林蕭心中多少有些明白了,為什麼有人說,成功的男人要學會享受孤獨。因為享受孤獨的過程,其實就是你充實自己的過程。

然而,就在林蕭盡情享受孤獨,瘋狂得充實自己的時候,一個故人卻再次打斷了這種瘋狂而又寧靜的生活。

她,來了。

 

打賞支援我寫出更多好文章,謝謝!

打賞作者

打賞支援我寫出更多好文章,謝謝!

任選一種支付方式

一個屌絲程式猿的人生(39) 一個屌絲程式猿的人生(39)

相關文章