参数化类时是否可以指定默认类型?
例:
例:
- // abstract class
- public abstract class AbsClass<T1 extends Par1Class,T2 extends Par2Class> {
- // code
- }
- // parametrized imlementation class
- public class RealClass extends AbsClass<ClassThatExtendsPar1,ClassThatExtendsPar2Class> {
- // code
- }
- // non-parametrized imlementation class
- public class RealClass extends AbsClass {
- // code
- }
在我的实现中,我必须指定NONE或ALL参数.有可能使第二个参数不是强制性的,像这样:
- // abstract class
- public abstract class AbsClass<T1 extends Par1Class,T2 extends Par2Class : default Par2Class > {
- // code
- }
- // parametrized only mandatory imlementation class
- public class RealClass extends AbsClass<ClassThatExtendsPar1> {
- // code
- }
解决方法
简单的答案:不,java不支持这样的默认参数.