gpt4 book ai didi

java - 访问静态变量

转载 作者:搜寻专家 更新时间:2023-10-30 20:59:42 24 4
gpt4 key购买 nike

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

但是在上面的代码中,即使变量 numberOfBicyclesstatic,这个语句 id =++numberOfBicycles; 是如何编译而没有错误的>

最佳答案

静态变量由类拥有,而不是由它的单个实例(对象)拥有。在类外部引用静态变量是通过 ClassName.myStaticVariable 但在类内部它类似于其他实例变量。

您始终可以在非静态方法中使用静态变量,但您不能在静态方法中使用非静态变量,原因是加载静态方法时不会创建其他非静态实例变量。

所以你的声明 id =++numberOfBicycles; 是完全有效的,并且编译没有错误。

关于java - 访问静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16880291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com