2016-06-19 3 views
0

J'apprends un objet et j'essaie d'utiliser un variabel de réfrence comme variabel d'instance mais j'obtiens "java.lang.NullPointerException" même si j'ai donné une valeur. Qu'est-ce que je fais mal? Voici mon code;Pourquoi est-ce que j'obtiens une exception lorsque j'essaie d'imprimer Instance variabel en tant que Variabel?

public static void main(String[] args) { 

    Car car = new Car(); 
    car.brand = "Nissan"; 
    car.modelYear = 1998; 
    car.owner.name = "Marshall"; 
    System.out.println("The car brand is "+car.brand + 
      "car model is "+ car.modelYear+ 
      "cars owners name is "+ car.owner.name); 
} 

}

class Car { 
Person owner; 
String brand; 
int modelYear; 
int horsePower; 

}

class Person { 
String name; 

}

+0

vous n'avez pas créé le 'owner' –

+0

que voulez-vous dire? J'ai déclaré le propriétaire dans la classe Car. Pouvez-vous donner un exemple? –

+1

les objets sont créés avec 'new' comme' owner = new Person() ', si vous venez de les déclarer, ils seront' null' –

Répondre

1

Parce que car.owner n'est pas initialisé.

car.owner = new Personne();