Ti da errore per il semplice fatto che l.uno non e' inizializzato. Ovvero non esiste nell'heap nessun oggetto corrispondente alla variabile l.uno. Prima devi fare l.uno = new Capitolo() e poi allora puoi fare l.uno.nome = "OliverHattonStory"Originariamente inviato da Lucked
sapete dirmi cosa non va? in fase di esecuzione il compilatore mi dice: nullpointerexception![]()
class Capitolo{
public String nome;
public String[] paragrafi;
}
class Libro{
public Capitolo uno;
Capitolo due;
Capitolo tre;
}
class ProvaLibro{
public static void main(String[] args){
Libro l = new Libro();
l.uno.nome = "Luca";
System.out.println(l.uno.nome);
}
}![]()
![]()
![]()
![]()
Le inizializzazioni vengono fatte mediante i costruttori. In Java i costruttori sono spesso "basilari". Non vengono usati "soltanto" nel caso in cui si voglia realizzare un tipo di dato astratto corrispondente ad un record puro le cui variabili vengano inizializzate esplicitamente e i cui valori (Delle variabili) siano accessibili direttamente (Non tramite metodi osservatori).