メソッド付きのファサードエンジンがあります
getOwner()
また、Carという別のクラスと別の発信者の所有者がいます。CarクラスにはgetOwner()メソッドもあり、Ownerクラスには名前、車のコスト、所有者の予算が含まれています。
したがって、エンジンを初期化するメソッドがあり、これによりnewCARengineクラスのコンストラクターが呼び出されます。
public static void iniEngine(String name, int cost) {
model = new newCARengine(name, cost);
}
構成。エンジンクラスには車があり、車クラスには所有者がいます。getOwner()メソッドを正常に呼び出すには、インスタンス変数(クラスレベル変数)を使用して、そのオブジェクトからそのメソッドを呼び出すために、他のオブジェクトへの参照を保持する必要があります。
私のエンジンクラス:[下]
public class engine{
private String name;
private int cost;
public Car car;
public engine(String name, int cost){
this.name = name;
this.cost = cost;
}
public Owner getOwner(){
return car.getOwner();
}
}
そのクラス「publicCarcar;」のインスタンス変数を使用して、Carクラスを参照しています。これにより、「car.getOwner();」を使用できるようになります。方法。
私の車のクラス:[下]
public class Car{
public Owner owner //instance variable to reference the owner class
public Owner getOwner(){
return owner;
}
}
これで、Ownerオブジェクトが作成されるOwnerクラスに移動する準備ができました。
私の所有者クラス:[下]
public class Owner{
private String name;
private int cost;
private int budget;
public Owner (String name, int cost){
this.name = name;
this.cost = cost;
}
public Owner (String name, int cost, int budget){
this.name = name;
this.cost = cost;
this.budget = budget;
}
public String getName(){return name;}
public int getCost(){return cost;}
public int getBudget(){return budget;}
}
iniEngine()メソッドを実行すると、nullpointer例外が発生します。これは、オブジェクトが作成されていない結果であると信じています。エラーはここから生成されます:
return car.getOwner(); //from the ENGINE CLASS
エンジンクラスの結果としてオブジェクトを返す必要があります。しかし、オブジェクトは作成されていません。どんな援助もいただければ幸いです。