Optional parametrization in Java with Generics

generics, java

Solution

Simple answer: no, java does not support default parametrizations like that.

Problem

Is is it possible to specify default type when parametrzing a class? Example: ``` // 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 } ``` in my implementation I have to specify NONE or ALL parameters. Is possible to make the second parameter non-mandatory, something like this: ``` // 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 } ```

Original source