突然脑筋短路,一个关于类的方法的问题,请大家指点。

henry.t
03-01-06 2 148

一个类,有私有成员变量,有公有方法,方法里有方法内变量
问题是:
1。 如果这是一般的类(不是STATIC)那么当然没什么问题,谁声明谁用,不管什么变量都声明人使用,没别人能用。但如果是STATIC类(虚拟机内永远有该实例,而且只有一个),或有多线程同时访问一个类实例,(分别在这两种情况下)那么方法内的变量会不会有同步问题?也就是说,当有两个进程或线程同时访问同一个方法时,其方法内的局部变量会不会有同步问题(大家都用同一组变量而不是各用各的)。
2。如果该方法时STATIC的呢???(相对与第一个问题)

不好意思,突然想到这个问题,感觉有点短路了而且有点弱智,请大家细细回答,(如果我以上的某个说法时错误的,也请指出)谢谢
祝新年快乐

fuzhou
2003-01-06 11:25

首先我觉得java中没有static类的概念吧,只有方法有可能是static的
那么这不就好理解了,静态方法只能访问静态变量,也就是说两个线程同时访问时,static变量是被共享的了
,其他的普通变量应该没有什么同步问题吧。

henry.t
2003-01-06 14:54

我的意思是,方法内的局部变量,是内存中只有一份,还是只要有人用此方法,就为他分配一分,只有他自己用????? 如果是同时多人用,如果同时写,当然有同步问题.

请回答