《大話設計模式》隨筆

1、不會實例化或者說實例化沒有任何意義的父類可以變成抽象類,作為一個抽象的概念。

2、抽象類代表的是一個抽象的概念,提供一個繼承的出發(fā)點,當設計一個抽象類時,一定是用來繼承的,所以換個角度,具體類不是用來繼承的。

3、類是對對象的抽象;抽象類是對類的抽象;接口是對行為的抽象。所以設計中間鍵的時候類用抽象類,行為用接口。

4、ArrayList可以放置任何類型,因為接受的是Object,所以不是類型安全的。而且基本類型(int等)在add進去的時候會執(zhí)行裝箱操作,使用元素的時候會執(zhí)行拆箱操作:

int i = 123;

Object o = (Object)i;裝箱

o = 123;

int i = (int)o;拆箱

耗資源和時間。

C#2.0,java SE1.5開始引入泛型,來解決類型安全的問題。定死類型,就不能隨便add任何類型了,從而保證ArrayList的類型安全。還有個優(yōu)點,當元素是值類型,本來是有裝箱操作的,現(xiàn)在就不需要了。

用了泛型集合類型的性能通常優(yōu)于對應的非泛型集合類型,因為使用泛型不必對元素進行拆裝箱。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,738評論 18 399
  • 一、基本數(shù)據(jù)類型 注釋 單行注釋:// 區(qū)域注釋:/* */ 文檔注釋:/** */ 數(shù)值 對于byte類型而言...
    龍貓小爺閱讀 4,288評論 0 16
  • 1. [C#語言基礎]請簡述拆箱和裝箱。 答: 裝箱操作: 值類型隱式轉換為object類型或由此值類型實現(xiàn)的任何...
    胤醚貔貅閱讀 4,845評論 1 29
  • 總是在遙想著那樣一個云淡風輕的午后 雨天 迫近黃昏 慢慢走進一條幽深而靜寂的小路 泥土流淌著溫涼的光澤 仿佛在講述...
    From蝴蝶小姐閱讀 250評論 1 1
  • 曾經(jīng)跟孩子約法三章,以后不看電視,不玩手機,一開始堅持了幾天,慢慢地又重新開始,重新開始看電視玩手機。生活中我們有...
    尚源希媽媽閱讀 112評論 0 0