Ciao ragazzi, è da qualche giorno che mi sto barcamenando per capire come assegnare dei valori a delle variabili appartenenti a delle classi che sono dichiarate in un'altra classe. Esempio:
In questo modo non lo dà per giusto, perché dice "NullPointerException:attempt to write to field 'int java".codice:public class ProvaClasse{ class Punto{ int x; int y; } class Rettangolo{ int altezza; int base; Punto posizione; } public static void main(String[]args){ Posizione p= new Posizione(); p.x= 3; p.y= 5; Rettangolo rett= new Rettangolo(); rett.posizione.x= 5; System.out.println(rett.posizione.x); rett.posizione.y= 9; System.out.println(rett.posizione.y); } }
Mentre assegnando l'istanza "p" a rett.posizione stampa correttamente i valori p.x e p.y:
Per assegnare i valori bisogna sempre creare un'istanza di tutte le classi usate o c'è un altro metodo per controllare le variabili "x" e "y" direttamente dalla classe "Rettangolo" che contiene la classe "Punto"?codice:public static void main(String[]args){ Posizione p= new Posizione(); p.x= 3; p.y= 5; Rettangolo rett= new Rettangolo(); rett.posizione= p; System.out.println(rett.posizione.x); System.out.println(rett.posizione.y); }

Rispondi quotando

