Код: Выделить всё
public class Bicycle {
private int cadence;
private int gear;
private int speed;
private int id;
private static int numberOfBicycles = 0;
public Bicycle(int startCadence, int startSpeed, int startGear){
gear = startGear;
cadence = startCadence;
speed = startSpeed;
id = ++numberOfBicycles;
}
// ...
}
Я учился на мой класс, что доступ к статическим переменным должен осуществляться путем вызова имени класса. т. е. ClassName.VariableName
Но как в приведенном выше коде этот оператор id = ++numberOfBicycles; скомпилирован без ошибок, даже несмотря на то, что переменная NumberOfBicycles статичен
Подробнее здесь: https://stackoverflow.com/questions/168 ... -variables