在Java中使用泛型的可选参数化

前端之家收集整理的这篇文章主要介绍了在Java中使用泛型的可选参数化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参数化类时是否可以指定默认类型?
例:
  1. // abstract class
  2. public abstract class AbsClass<T1 extends Par1Class,T2 extends Par2Class> {
  3. // code
  4. }
  5.  
  6.  
  7. // parametrized imlementation class
  8. public class RealClass extends AbsClass<ClassThatExtendsPar1,ClassThatExtendsPar2Class> {
  9. // code
  10. }
  11.  
  12. // non-parametrized imlementation class
  13. public class RealClass extends AbsClass {
  14. // code
  15. }

在我的实现中,我必须指定NONE或ALL参数.有可能使第二个参数不是强制性的,像这样:

  1. // abstract class
  2. public abstract class AbsClass<T1 extends Par1Class,T2 extends Par2Class : default Par2Class > {
  3. // code
  4. }
  5.  
  6. // parametrized only mandatory imlementation class
  7. public class RealClass extends AbsClass<ClassThatExtendsPar1> {
  8. // code
  9. }

解决方法

简单的答案:不,java不支持这样的默认参数.

猜你在找的Java相关文章