《大话设计模式》随笔

1、不会实例化或者说实例化没有任何意义的父类可以变成抽象类,作为一个抽象的概念。

2、抽象类代表的是一个抽象的概念,提供一个继承的出发点,当设计一个抽象类时,一定是用来继承的,所以换个角度,具体类不是用来继承的。

3、类是对对象的抽象;抽象类是对类的抽象;接口是对行为的抽象。所以设计中间键的时候类用抽象类,行为用接口。

4、ArrayList可以放置任何类型,因为接受的是Object,所以不是类型安全的。而且基本类型(int等)在add进去的时候会执行装箱操作,使用元素的时候会执行拆箱操作:

int i = 123;

Object o = (Object)i;装箱

o = 123;

int i = (int)o;拆箱

耗资源和时间。

C#2.0,java SE1.5开始引入泛型,来解决类型安全的问题。定死类型,就不能随便add任何类型了,从而保证ArrayList的类型安全。还有个优点,当元素是值类型,本来是有装箱操作的,现在就不需要了。

用了泛型集合类型的性能通常优于对应的非泛型集合类型,因为使用泛型不必对元素进行拆装箱。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,290评论 18 399
  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 9,732评论 0 16
  • 1. [C#语言基础]请简述拆箱和装箱。 答: 装箱操作: 值类型隐式转换为object类型或由此值类型实现的任何...
    胤醚貔貅阅读 10,322评论 1 29
  • 总是在遥想着那样一个云淡风轻的午后 雨天 迫近黄昏 慢慢走进一条幽深而静寂的小路 泥土流淌着温凉的光泽 仿佛在讲述...
    From蝴蝶小姐阅读 1,742评论 1 1
  • 曾经跟孩子约法三章,以后不看电视,不玩手机,一开始坚持了几天,慢慢地又重新开始,重新开始看电视玩手机。生活中我们有...
    尚源希妈妈阅读 1,085评论 0 0

友情链接更多精彩内容