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;
}
// ...
}
Источник кода: https://docs.oracle.com/javase/tutorial ... svars.html
Я учился на мой класс, что доступ к статическим переменным должен осуществляться путем вызова имени класса. т. е. ClassName.VariableName
Но как в приведенном выше коде этот оператор id = ++numberOfBicycles; скомпилирован без ошибок, даже несмотря на то, что переменная NumberOfBicycles статичен
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; } // ... } [/code] Источник кода: https://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html Я учился на мой класс, что доступ к статическим переменным должен осуществляться путем вызова имени класса. т. е. ClassName.VariableName Но как в приведенном выше коде этот оператор id = ++numberOfBicycles; скомпилирован без ошибок, даже несмотря на то, что переменная NumberOfBicycles статичен