Soy novato en esto de java pero hay un concepto que no entiendo en el siguiente código.
Código:
public class ClaseA {
public int x[];
public ClaseB c;
public ClaseA (){
x = new int[2];
for (int i=0; i<x.length; ++i){
x[i]= i;
}
c= new ClaseB(x[1]);
mostrar();
}
public void mostrar(){
c.calcu();
c.mostrarenClase();
System.out.println(c.a );
}
public static void main (String args[]){
ClaseA p = new ClaseA();
}
}
Código:
public class ClaseB {
public int a;
public ClaseA p ;
public ClaseB(int x){
this.a= x;
}
public void calcu(){
a++;
}
public void mostrarenClase(){
System.out.println(p.x[1]);
}
}
Creo un objeto de la claseB , y cuando llamo el metodo mostrarenClase() es cuando me sale el NUllPointerException.
Supongo es porque en la claseB no creo un objeto de la claseA y por eso en la declaracion de variable de la claseB : ClaseA p; no esta inicializado y al llamar a p.x[1] me sale el error .
Se ve que hay algun concepto que no tengo claro.
Como se soluciona?
Un saludo y gracias de antemano.