per farvi capire il mio problema ho deciso di "sviluppare" un programma test :
eccolo di seguito molto velocemente:
il programmino ha 4 classi ed è puramente indicativo :
MAin ( Start)
super classe (Principale):codice:public class start { public static void main(String[] args) { Esempio es = new Esempio(); Test tes = new Test(); es.welcome(); tes.provaStampa(); } }
e ora di seguito le due classi satellite ( Esempio)codice:public class Principale { private int prova; public int getProva() { return prova; } public void setProva(int prova) { this.prova = prova; } }
e l' altra Testcodice:import java.util.Scanner; public class Esempio extends Principale{ Scanner tastiera = new Scanner(System.in); public void welcome(){ System.out.println ("Digita un numero"); super.setProva(tastiera.nextInt()); System.out.println ("hai digitato " + super.getProva()); } }
ok ora eseguo e digito come valore 5 e l' output su eclipse è:codice:public class Test extends Principale { public void provaStampa() { System.out.println ("hai digitato per caso " + super.getProva() + " ?"); } }
ok ,ora la mia domanda è: perchè se provo a chiamare la variabile da un altra classe ( in questo caso test ) diversamente da quella dove l'ho inserita con scanner mi fa ritornare 0 a posto di 5 come ho inserito ?codice:Digita un numero 5 hai digitato 5 hai digitato per caso 0 ?
dove sbaglio ? devo fare un costruttore? non ci capisco... sto sviluppando il mio primo progetto grosso ma sono fermo qui se carico una variabile da un altra classe non riesco a importarla....
spero di essermi spiegato ;D
accorete numerosi
grazie in anticipo Elia![]()

Rispondi quotando