可以在任何变量上使用get和set方法吗?我知道它与数据封装有关,但它并没有真正为我“点击”。使用它们有什么好处?以下面的代码为例:
public class Bicycle {
private int cadence;
private int gear;
private int speed;
public Bicycle(int startCadence, int startSpeed, int startGear) {
gear = startGear;
cadence = startCadence;
speed = startSpeed;
}
public int getCadence() {
return cadence;
}
public void setCadence(int newValue) {
cadence = newValue;
}
public int getGear() {
return gear;
}
public void setGear(int newValue) {
gear = newValue;
}
public int getSpeed() {
return speed;
}
public void applyBrake(int decrement) {
speed -= decrement;
}
public void speedUp(int increment) {
speed += increment;
}
}
如果我没有弄错的话,节奏,档位和速度都是私人成员变量。我认为这是因为其他类不能“使用”它们。如果是这种情况,为什么代码继续通过get和set方法将它们公开?为什么不把它们公之于众呢?