为什么使用泛型

  • 在Java中增加泛型之前,泛型程序设计使用继承来实现的坏处
  • 坏处:

    • 需要类型转换
    • 可向集合中添加任意数据类型,存在风险

      泛型的使用

  • List list =new ArrayList()

  • Java SE7以及以后的版本中,构造方法中可以省略泛型类型
  • List list = new ArrayList<>()

    多态与泛型

  • class Animal{}

  • class Cat extends Animal{}
  • List list = new ArrayList() //变量声明的类型必须匹配传递给实际对象的类型

    泛型作为方法参数

  • 案例需求

  • 定义一个抽象类Goods,包含抽象方法sell()
  • 分别定义类Book、Clothes和Shoes继承Goods,并实现sell()方法,输出一句话,如 sell books
  • 定义一个商品销售类GoodsSeller,模拟销售,包括方法:
  • public void sellGoods(List goods),循环调用List对象的sell()方法
  • 测试