Effective Java是一本出版很多年,也很多人推薦的Java書籍,值得初階Java開發者了解更多Java的功能,也可以讓有多年經驗的Java開發人員,更深入了解Java。這次參賽將會介紹Effective Java前面二十幾個Item,帶領大家更了解Java的設計。
昨天介紹了繼承的缺點,以及可以怎麼用composition改寫,但是昨天的改法比較沒那麼彈性,因為Set有多種不同資料結構的類別可以使用,上面的範例只能擴充Ha...
在前兩天的時候有提過,盡量使用composition,而不是繼承,但如果真得需要使用繼承,需要做哪些事呢? 必須撰寫文件和說明紀錄 需要說明可以覆寫的方法(pu...
Java的世界裡,提供了兩種機制幫助定義類別的架構,一個是interface,一個是抽象類別。這兩種機制主要的差別在於,一個是使用實作的方式,一個是使用繼承的方...
雖然昨天說了很多應該用interface,不建議用抽象類別的原因,但interface有個缺點:無法重複使用程式碼,如果想要有interface可mixins的...
nested class是一種被宣告在class裡面的class,也就是所謂的inner classes,共有四種類型:static member classe...
什麼是anonymous class? anonymous class就像anonymous這個字,"匿名"描述的一樣,簡單的說就是沒有名字...
在Java 5出現泛型之後,開發人員開始可以為類別、方法或interface添加型別參數(type parameters)(ex: List<Intege...
有了泛型之後,開發人員不用自己強制轉換型別,compiler會根據宣告的時候,型別參數的型別幫你轉,程式碼看起來比較簡潔,型別轉換也比較安全,因為compile...
今天和明天會說明為什麼最好優先使用lists,並且說明arrays跟lists有什麼差異,所以才會這麼建議。 array跟list有什麼不同? arrays是協...
昨天說明為什麼最好優先使用list,看起來list似乎是因為可以使用泛型,享受到泛型的優點,所以才鼓勵優先使用list,那麼array是否也可以使用或混用泛型,...