2016-06-15 4 views
0

Comme vous pouvez le voir, je suis coincé en partie où je devrais définir un nom d'un propriétaire de Ford ... Merci pour votre aide.Comment définir/obtenir un nom à "ford" - instance de classe Car j'ai créé dans la méthode principale de la classe Véhicule?

public class Vehicle { 

    Person owner; 
    long motorSerialNo; 
    String registerNo; 

    public static void main(String[] args) { 

     //an example, create an object instance of class Car 

     Car ford   = new Car(); 
     ford.model   = "Focus"; 
     ford.motorSerialNo = 123456; 
     ford.registerNo = "CA-126-65"; 

     //and here is a problem 

     ford.owner.setName("John Croul"); 


    } 

} 

class Car extends Vehicle { 

    String model; 

} 

class Person { 

    public Person(String name){ 
     this.name = name; 
    } 
    String name; 
    String lastname; 
    String address; 

    String getName() { 
     return name; 
    } 

    void setName() { 
     this.name = name; 
    } 
} 

Répondre

0

Tout d'abord, votre setter devrait ressembler à

public void setName(String name) { 
    this.name = name; 
} 

Ensuite, vous devez initialiser la variable d'instance person avant d'appeler sa méthode setName(), sinon vous obtiendrez le NullPoiterException.

Person owner = new Person(); 

ou dans la méthode main, comme vous l'avez fait pour d'autres variables

ford.owner = new Person(); 
+1

Merci pour votre réponse et une explication pour les débutants comme moi;) –