Ich mag so etwas wie dies tun:Aufruf einen Konstruktor mit einer Bedingung
if (condition)
super(foo.class);
else
super(bar.class);
Aber das Super-Konstruktor hat die ersten im Konstruktor sein. Ist es möglich, dies trotzdem zu tun?
Ich mag so etwas wie dies tun:Aufruf einen Konstruktor mit einer Bedingung
if (condition)
super(foo.class);
else
super(bar.class);
Aber das Super-Konstruktor hat die ersten im Konstruktor sein. Ist es möglich, dies trotzdem zu tun?
Angenommen Sie haben die gleiche Superkonstruktor in beiden Fällen sind aufrufen und nur in einem anderen Argument, können Sie einfach die bedingte Operator verwenden:
super(condition ? Foo.class : Bar.class);
Ist etwas falsch, wenn wir das Klassenobjekt an den Superkonstruktor übergeben und dann die Superklasse damit umgehen, als wenn (Bedingung) etwas tun würde. sonst noch etwas anderes machen? – TheLostMind
@WhoAmI: Das ist eine sehr allgemeine Frage - wir haben keine Ahnung von dem Kontext hier. Es klingt auch wie eine andere Frage. –
Wäre es jedoch nicht sinnvoller, die bedingte Prüfung an der Stelle/Methode zu platzieren, an der die Variable verwendet werden soll ?. – TheLostMind
Was ist Ihre Klasse Hirarchie genau? – Sunny