限制性通配符

限制性通配符

💡 原文约600字/词,阅读约需2分钟。
📝

内容提要

限制性通配符用于限制类型参数,确保方法仅接受特定超类的子类对象。类A被类B和C扩展,而类D不扩展A。通过限制性通配符,可以创建只接受Gen<A>或其子类的对象的方法。

🎯

关键要点

  • 限制性通配符用于限制类型参数,确保方法仅接受特定超类的子类对象。
  • 类A被类B和C扩展,而类D不扩展A。
  • 通过限制性通配符,可以创建只接受Gen<A>或其子类的对象的方法。
  • Gen类使用一个类型参数T,指定存储在ob中的对象类型,但T是无限制的,可以是任何类型的类。
  • 方法test()使用限制性通配符来接受仅Gen<A>或其子类的对象。
  • 在main()方法中,创建了类型A、B、C和D的对象,并生成了相应的Gen对象。
  • test()方法被调用四次,前三次有效,最后一次无效,因为w4是类型D,不是A的子类。
  • 使用<? extends superclasse>来建立限制性通配符的上限,extends是包含的。
  • 使用<? super subclasse>来定义下限,仅允许作为子类的超类作为参数,super也是包含的。
➡️

继续阅读