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;
}
// ...
}
मैंने अपनी कक्षा में Static variables should be accessed by calling with class name
सीखा। यानी ClassName.VariableName
स्टेटिक चर का उपयोग
लेकिन उपरोक्त कोड में, कैसे इस बयान id = ++numberOfBicycles;
त्रुटियों के बिना, संकलित किया गया है, भले ही चर numberOfBicycles
static
कक्षा के बाहर से के लिए ठीक काम किया, "स्थैतिक चर द्वारा पहुँचा जा चाहिए कक्षा के नाम से बुलाओ। " अंदर से, कक्षा योग्यता संकलक द्वारा अनुमानित है। –
ध्यान दें कि यह पंक्ति 'id = ++ numberOfBicycles;' थ्रेड सुरक्षित नहीं है –