可以通过static关键字修饰成员变量,static表示的意思是该成员变量为类所拥有,并不是某一具体对象所拥有,通过该类实例化的所有对象共享static修饰的成员变量,static修饰的成员变量在内存中占有一块固定的内存,所以,你可以在A中修改staitc修饰的成员变量,在B中可以看到修改的结果。如果成员变量不定义为static,那么每当你new一次,相当于给该成员变量分配一次内存,所以你在A中修改的值,在B中是无法看到修改效果的,因为你在B中也重新new了一次对象,该成员变量和A中修改的成员变量在内存中指向的并不是同一个块区域,他们分别是自己所拥有的成员变量。自然也就出现你问的问题了。
在多线程中,A类有一个静态成员变量,如果A类在运行期间修改了它,B类是否能知道
本文详细解释了使用static关键字修饰成员变量的意义及其实现原理。static修饰的成员变量为类所共有,所有实例共享同一份数据,因此在一个实例中对static变量的修改会影响到其他实例。而普通成员变量则为每个实例独立拥有,互不影响。

被折叠的 条评论
为什么被折叠?



