20162304 2017-2018-1 《程序设计与数据结构》第二周学习总结

20162304 2017-2018-1 《程序设计与数据结构》第二周学习总结

教材学习内容总结

  1. Java中泛型类的学习

教材学习中的问题和解决过程

  • 问题1:对泛型概念不太理解
  • 问题1解决方案:通过搜索得知答案:就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。

代码托管

点评过的同学博客和代码

  • 本周结对学习情况
    • 20162318
    • 结对照片
    • 结对学习内容
      • 泛型的学习

内容总结

  1. 为什么需要泛型
  • 泛型可以使集合能够记住集合内元素各类型,且能够达到只要编译时不出现问题,运行时就不会出现“java.lang.ClassCastException”异常。
  1. 自定义泛型接口、泛型类和泛型方法
  • 在使用泛型类时,虽然传入了不同的泛型实参,但并没有真正意义上生成不同的类型,传入不同泛型实参的泛型类在内存上只有一个,即还是原来的最基本的类型(本实例中为Box),当然,在逻辑上我们可以理解成多个不同的泛型类型。
  • 对此总结成一句话:泛型类型在逻辑上看以看成是多个不同的类型,实际上都是相同的基本类型。
  1. 类型通配符
  • 类型通配符一般是使用 ? 代替具体的类型实参。注意了,此处是类型实参,而不是类型形参!且Box<?>在逻辑上是Box、Box...等所有Box<具体类型实参>的父类。由此,我们依然可以定义泛型方法,来完成此类需求。

其他(感悟、思考等,可选)

这一周的学习书上找不到对应的内容,主要是通过网上学习,希望可以更加进步。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 1/1 10/10
第一周 0/0 1/1 10/10
第二周 0/0 1/2 10/20
  • 计划学习时间:12小时

  • 实际学习时间:10小时

参考资料

posted @ 2017-09-17 23:43  20162304张浩林  阅读(158)  评论(0编辑  收藏  举报