比如说:我在一个类中定义了一个私有的静态成员变量。为什么该共享成员变量所有对象访问不到
class A
{ private static int a=5;
}
public class Play2
{
public static void main(String args[])
{
A r=new A(); r.a//这一步是调用不了的
static 在内存中开辟了独立的空间存储了 int a=5; class A的对象都共享这个内存。。但是A的对象有类内部的和外部的,private一出现就限制了外部的所有对象对int a=5;的访问。。。
你肯定是想知道static和private哪个作用更大
其实可以这么理解,static把内存地址分享给对象r了,但是private不让他去碰。。。就好像老师在甲班发水果,全年级每个学生一份,你是乙班的,private设了门禁需要刷卡的,只有甲班的学生的卡才能刷开甲班的门,你的水果在甲班屋里,但是你拿不到。。