参数化类时是否可以指定默认类型?例:
// 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
}
Run Code Online (Sandbox Code Playgroud)
在我的实现中,我必须指定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
}
Run Code Online (Sandbox Code Playgroud)