转行小白成长路-java篇

第15章:泛型(上)

  先来一段代码,可以理解动态数组是如何创建的。启发意义甚大,然后再说本章重点,因为时间问题,就不手码了,也不太会调节图片,凑合着把。

  泛型存在的目的主要是为了扩大复用范围,限制范围过大,少些重复代码,和少些代码是两会事。虽然有中心思想,但是实现起来还是满困难的。它的起源除了复用就是容器中说到的,为了给容器设定一点限制,不会总也出错。泛型防止出错的点在于将错误搬到明面上,利用编译时就检查类型信息。还有一样好处就是延迟指定对象类型。

  前六节重点在应用场景上,总也举generator的例子。这种场景针对很重要么?我就按照我觉的是重点的部分列出来几点把,不按照书中场景分了。

  • 泛型类和泛型方法的生成:泛型类只有实现泛型接口才可以,换句话说类同级上的接口能有泛型,抽象类应该也可以,所以继承或者实现的都可以带泛型。但是正常的类是不会带有泛型的,因为这样逻辑上有问题,毕竟类就是对象的“泛型”,表示一类,再来一个泛型?逻辑就不通。泛型方法在返回值前用<T>之类的。
  • 类型参数推断:<? extends Pet>类似这种泛型,在我们进行添加操作的时候会进行判断,可是利用方法的返回值的时候,就会有问题;
  • 对复杂对象的处理。泛型可以一层套一层,可以处理复杂对象,对象又是问题的抽象,换句话说就是,泛型可以用较少的代码处理复杂问题。可以做成更符合特定环境的数据结构。
原文地址:https://www.cnblogs.com/aiwin/p/12452173.html