很多人疑惑静态方法里调非静态变量会报错,核心原因是 “加载时机不同”:静态成员(方法 / 变量)在类加载时就初始化,属于 “类级别的资源”;非静态成员要等创建对象后才存在,属于 “对象级别的资源”。
就像没造出自行车(对象),没法用自行车的车闸(非静态成员),但可以看自行车的设计图纸(静态成员)。
避坑:静态方法里只能用静态成员,非静态方法则两者都能访问。
很多人疑惑静态方法里调非静态变量会报错,核心原因是 “加载时机不同”:静态成员(方法 / 变量)在类加载时就初始化,属于 “类级别的资源”;非静态成员要等创建对象后才存在,属于 “对象级别的资源”。
就像没造出自行车(对象),没法用自行车的车闸(非静态成员),但可以看自行车的设计图纸(静态成员)。
避坑:静态方法里只能用静态成员,非静态方法则两者都能访问。