【发布时间】:2018-07-16 11:33:20
【问题描述】:
假设我有两个班级:
public class Customer {
private String name;
private Car car;
public Customer() {}
public Customer(String name, Car car) {
this.name = name;
this.car = car;
}
public void setName(String name) {this.name = name;}
public String getName() {return this.name;}
public Car getCar() {return this.car;}
}
和
public class Car {
private String brand;
public Car() {}
public Car(String brand) {
this.brand = brand;
}
public void setBrand(String brand) {this.brand = brand;}
public String getBrand() {return this.brand;}
}
从 Martin Konecny 在this post 的回答中,我了解到为了从Customer 访问Car 的getters,我会这样做:
Customer c = new Customer("Lefrost", "BMW");
String brand = c.getCar().getBrand();
但是我应该如何从Customer 访问Car 的setter?
我尝试了以下方法,效果很好:
// adding setter for 'car' in Customer class
public void setCar(Car car) {this.car = car;}
然后像这样改变Car的数据字段内容:
c.setCar(new Car("Honda"));
但这需要我创建一个新的Car 对象,它实际上并没有使用Car 类中的设置器。
我究竟如何从Customer 访问Car 的设置器?
如果没有好的方法,有没有更好的方法将Car的数据字段内容从Customer更改?
【问题讨论】: