public class A{
public A(int[] a){}
}
public class B extends A{
public B(double[] b){
super({b.length}); //ERREUR
}
}
Je veux pouvoir compiler le code ci-dessus. Pour être clair, j'ai la classe A et B qui l'étend. La classe A n'a pas de constructeur sans paramètres. Si je ne mets pas un appel à super dans le constructeur de la classe B à la première ligne, il essaiera d'appeler super(), ce qui n'existe pas. Mais je veux appeler super(int[] a) à la place. Je veux le faire en prenant la longueur d'un tableau double donné et en l'envoyant comme un tableau de longueur 1. Il ne me permet pas de le faire car apparemment vous ne pouvez pas déclarer un tableau comme ça, et si je le déclarais sur une ligne séparée, il appellerait super() en premier et cela ne fonctionnerait pas.
Y a-t-il un moyen de déclarer un int[] de cette manière ? Ou la seule solution ici est de soit faire un constructeur pour A sans paramètres, soit de faire ma propre fonction qui retourne un int[]?
(Ne demandez pas pourquoi je veux l'envoyer comme un tableau de cette manière.)