سؤال

I would like to do something like this:

if (condition)
    super(foo.class);
else
    super(bar.class);

But the super constructor has to be the first in the constructor. Is it possible to do this anyway?

هل كانت مفيدة؟

المحلول

Assuming you're calling the same superconstructor in both cases and just passing in a different argument, you can just use the conditional operator:

super(condition ? Foo.class : Bar.class);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top