나는 방법방법 및 구성 자바
getOwner()
나는 또한 자동차라는 다른 클래스가
다른 발신자 소유자와 외관 엔진을 가지고있다. Car 클래스에는 getOwner() 메서드가 있으며 Owner 클래스에는 자동차의 이름, 비용 및 소유자 예산이 들어 있습니다.
그래서 엔진을 초기화하는 메소드가 있으며 newCARengine 클래스의 생성자를 호출합니다.
public static void iniEngine(String name, int cost) {
model = new newCARengine(name, cost);
}
조성. 엔진 클래스에는 자동차가 있고 자동차 클래스에는 소유자가 있습니다. getOwner() 메서드를 성공적으로 호출하려면 인스턴스 변수 (클래스 수준 변수)를 사용하여 해당 개체에서 해당 메서드를 호출하기 위해 다른 개체에 대한 참조를 보유해야합니다.
MY 엔진 클래스 : [아래]
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();
}
}
내가 그 클래스의 인스턴스 변수를 사용하여 Car 클래스를 참조하고있어 "공공 자동차 자동차;" 그러면 "car.getOwner();"를 사용할 수 있습니다. 방법.
MY CAR의 등급 (class) : [아래]는
public class Car{
public Owner owner //instance variable to reference the owner class
public Owner getOwner(){
return owner;
}
}
는 지금은 소유자의 객체가 생성 소유자 클래스에 갈 준비 해요.
MY 소유자의 등급 (class) : [아래] 지금 내가 iniEngine() 메소드를 실행하는 경우와 같이 뭔가 잘못하고있는 중이 야
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;}
}
, 나는 nullpointer 예외를 얻을 내가 보라,이 오브젝트의 결과 아니다 창조되고있다. 여기에서 오류가 발생합니다.
return car.getOwner(); //from the ENGINE CLASS
엔진 클래스 결과로 개체를 반환해야합니다. 개체가 생성되지 않습니다. 어떤 도움을 주시면 감사하겠습니다.
내 생각에 엔진의 "주인"은 차의 소유자가 아니라 차 자체입니다. –
'engine' 인스턴스에서'car' 필드를 어디에 설정하고 있습니까? –