这当然是一个初级问题,但我必须要澄清我的一个问题。如果一个类成员被设置为static,它可以在没有实例化的情况下被访问,语法类似于class.member。创建对象时,它是否接收静态成员,并且可以更改该值吗?既然静态成员不需要对象,那对任何对象来说都是一样的吗? (即一个变了,另一个变了)。
基本上,对象中的静态成员是如何实现的,它们又是如何变化的呢? 它们只能用静态方法操作吗?
谢谢大家
最佳答案
从技术上讲,您可以使用这样的实例更改静态成员:
SomeClass c = new SomeClass();
c.someStaticMember = 5;
但是,这会产生一个警告,这是应该的。正确的方法是这样做:
SomeClass.someStaticMember = 5;
Since a static member does not need objects, is it the same for any object? (ie changed in one, changed in the other).
同样,从技术上讲是的,因为您可以这样做:
System.out.println(c.someStaticMember);
虽然这是不正确的,但会给你一个警告;正确的方法是:
System.out.println(SomeClass.someStaticMember);
关于java - 静态成员是否进入对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16577233/