mah, una volta inizializzato un array in x ed estesa la classe y ad x che altro devo fare per utilizzare codesto array? Confido in voi
mah, una volta inizializzato un array in x ed estesa la classe y ad x che altro devo fare per utilizzare codesto array? Confido in voi
spiega meglio :master:
Se per esempio ho
class X {
public X() {
int[] a = new int[10];
for(int i=0; i<a.length; i++) {a[i] = 0;}
}
}
class Y extends X {
public static void main(String[] args) {
System.out.println(a[0]);
}
}
cosa manca?
class X {
int[] a;
public X() {
a = new int[10];
for(int i=0; i<a.length; i++) {
a[i] = 0;
}
}
}
class Y extends X {
public Y() {
super();
}
public static void main(String[] args) {
Y y = new Y();
System.out.println(y.a[0]);
}
}
va alla grande, grazie
ok, come ci si poteva aspettare una volta che la mia classe eredita l'array dopo un po' ho iniziato a non capirci piś niente tra i vari a[0], a[8] eccetera... volendo rinominare i vari parametri e successivamente utilizzarli che faccio?
se semplicemente nella classe X dico
int numero = a[0];
e poi in Y utilizzo x.numero non me lo riconosce come simbolo.![]()
Ogni aiuto e“ben accetto.
vabbé scusate y.numero
se lo fai globale lo riconosce
il problema viene quando lo assegni
a[0] = 1;
numero = a[0];
numero contiene 1
ma se poi fai a[0] = 2
numero contiene ancora 1
ti consiglio di dichiarare delle costanti in X
public static final int NUMERO = 0;
e da Y accedi alle posizioni di a con queste
y.a[X.NUMERO]
vorrei provare con entrambe le soluzioni per vedere che succede, potresti spiegarmi cosa intendi con farlo globale? Nel secondo caso é necessario creare una variabile per ogni campo dell'array?
e ridaglie...giuro non sto cercando di far salire il mio contapostuna costante per ogni campo