Effective Java——通用程序設計(二)(2015-10-28 22:46:54)

52:經過接口引用對象 通常來說,應該優先使用接口而不是類來引用對象。若是有合適的接口,那麼對於參數、返回值、變量和域來講,都應該使用接口類型進行聲明。 好比Vector是List接口的一個實現類,那麼在聲明一個Vector變量的時候應該這樣作java

List<String> list = new Vector<String>();

而不是架構

Vector<String> list = new Vector<String>();

用接口做爲類型會讓程序變得更加靈活,好比某一天你決定把ArrayList做爲實現類時,針對第一種狀況,只須要把Vector改成ArrayList便可,周邊的代碼並不知道原來的實現類型,因此避免了改動。 有一點值得注意的是若是原來的實現類中提供了某種特殊的功能, 而這種特殊的功能又不屬於接口的規範,而且周邊的代碼又依賴於這種特殊的功能,那麼重要的一點就是要在新的實現類中也要實現相同的功能。性能

53:接口優先於反射機制 反射機制是java提供的一個很是重要的功能,它提供了「經過程序來訪問關於已轉載類的信息」的能力,爲何這麼說呢? 是由於咱們只要給定一個類的實例或者名稱,咱們就能經過反射來獲取類的構造器、方法、屬性的信息。 可是反射機制仍是會付出必定的代價,好比說: 1.喪失了編譯時類型檢查的能力 2.執行反射訪問所須要的代碼很是笨拙和冗長。 2.性能損失 可是一些複雜的程序或者架構確實是須要反射機制來做爲一個重要的技術實現點。優化

54:謹慎的使用本地方法 本地方法是指本地程序設計語言,好比C或者C++來編寫的特殊方法,java中經過native關鍵字來修飾,沒有方法體設計

55:謹慎地進行優化 ................................code

56:準守廣泛接受的命名規則 主要是一些包、類或者接口、方法或者域、常量域、局部變量、類型參數的命名規範對象

相關文章
相關標籤/搜索