我是一名Java初学者,从一本书中学习,我遇到了一个需要FuelGauge和里程表课程的问题。然后它说,"里程表类型的每个对象都应该包含FuelGauge类型的对象。我该怎么做?这就是我对里程表的看法:
public class Odometer {
public double mileage;
public double gallonsPerMile;
public Odometer() {
mileage=0;
}
public Odometer(double miles) {
this.mileage=miles;
}
public void mileagePlusOne() {
mileage+=1;
}
}
我想在构造函数中添加一些东西,但我有点卡住了。
答案 0 :(得分:0)
要将FuelGage添加到里程表,只需在里程表类中声明一个变量
private FuelGauge fuelGauge
类文件指定构建对象的模板。通过创建新对象new Odometer()
,您可以实例化该类的新实例。
在类中声明的变量对于单个实例是唯一的,只要它们不被声明为“静态”。例如,每个实例化的里程表都有自己的里程数变量。
通过像我上面所说的那样宣布一个新的燃油表,每个里程表现在都有一个燃油表。应该将类的每个变量声明为private,以防止其他类修改其内部状态。您应该使用修改值的公共函数(getters / setters)
public void setFuelGauge(fuelGauge) {
this.fuelGauge = fuelGauge;
}
public FuelGauge getFuelGauge() {
return fuelGauge;
}
在构造函数中,您可以包含fuelGauge = new FuelGauge()
。您也可以重载构造函数以接受电量计
public Odometer(Fuelgauge fuelGauge) {
mileage = 0;
this.fuelGauge = fuelGauge;
}
答案 1 :(得分:0)
如果您拥有变量mileage
和gallonspermile
,则可以添加变量public FuelGauge gauge;
然后在您设置miles
的构造函数中,设置guage = new FuelGuage();
答案 2 :(得分:0)
这意味着
public class Odometer {
private FuelGauge fuelGauge;
public double mileage;
public double gallonsPerMile;
public Odometer() {
mileage=0;
this.fuelGauge = new FuelGauge();
}
public Odometer(double miles, FuelGuage fuelGauge) {
this.mileage=miles;
this.fuelGauge = fuelGauge;
}
答案 3 :(得分:0)
您可以按如下方式更新课程:
public class Odometer {
public double mileage;
public double gallonsPerMile;
public FuelGauge gauge; // Add this to declare the instance of FuelGauge
public Odometer() {
mileage=0;
gauge = new FuelGauge(); // Instantiate gauge, which you can now use as wanted
}
public Odometer(double miles) {
this.mileage=miles;
}
public void mileagePlusOne() {
mileage+=1;
}
}