Скажем, кто-то дает вам класс Super
со следующими конструкторами:
public class Super
{
public Super();
public Super(int arg);
public Super(String arg);
public Super(int[] arg);
}
И скажем, вы хотите создать подкласс Derived
. Как условно вызывать конструктор в Super
?
Другими словами, что такое "правильный" способ сделать что-то вроде этой работы?
public class Derived extends Super
{
public Derived(int arg)
{
if (some_condition_1)
super();
else if (some_condition_2)
super("Hi!");
else if (some_condition_3)
super(new int[] { 5 });
else
super(arg);
}
}