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

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

教材学习内容总结

  1. Java中泛型类的学习

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

  • 问题1:对泛型概念不太理解
  • 问题1解决方案:通过搜索得知答案:就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。
    ## 代码调试中的问题和解决过程
  • 问题1:XXXXXX
  • 问题1解决方案:XXXXXX
  • 问题2:XXXXXX
  • 问题2解决方案:XXXXXX
    ```import java.util.LinkedList;
    public class LevelOrder
    {
    public void levelIterator(BiTree root)
    {
    if(root == null)
    {
    return ;
    }
    LinkedList

}
}
```

代码托管

点评过的同学博客和代码

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

        上周考试错题总结

  • 错题1及原因,理解情况
  • 错题2及原因,理解情况

    内容总结

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

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

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

学习进度条

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

  • 实际学习时间:10小时

参考资料

  • 《Java程序设计与数据结构教程(第二版)》

  • 《Java程序设计与数据结构教程(第二版)》学习指导

相关推荐