我们为什么不可以在类的方法里面定义一个static的局部变量?
最好是从最本质的地方解析。 谢各位了
最好是从最本质的地方解析。 谢各位了
解决方案 »
- 编译问题 没有错误但是无法编译,package不能引用,这是为什么、
- (版主请看)本人组团队开发个公共的订餐系统,有人愿意提供cvs或者vss服务器吗?那个彩票系统就是我做的一个demo.
- 请问,客户端调用我的servlet,我需要返回给客户端调用成功的信息,我该怎么做呢?
- java的时间函数
- 如何JAVA开发中实现信息配置
- 【SWT 有没有做“格式化输入”用的 文本框 ?】
- java在winXP中的环境变量设置(我知道好菜,但是,我在网上找了好多的资料,完全按他们的配制,还是出现问题)
- 请问为什么XP下不可以浏览JAVA APPLET!
- 关于mysql--给点初学者一点建议吧!
- 求助一个关于java比较两个类的语句问题
- UML绘画工具如何使用?
- 0.3f==0.3和0.5f==0.5的返回值分别是什么?
如果是定义在static方法中呢?jvm会不会在加载静态成员变量之后又去加载静态方法?那这时不就可以加载到这个static局部变量了吗?
类在,static就在。
局部static变量只是C++支持的一个功能,Java选择不支持这个功能而已,没什么本质不本质的。
Java认为这个功能除了造成bug之外没有别的用途,所以没有支持它。
希望楼主不要钻牛角,意义不大!
静态变量是类A的一个属性,
而不是类A的某个实例的属性比如在类的构造函数中用一个static的变量累计这个类被实例化(new)了多少次
class A{
static int i
int x
new A(){
i++;
}
void m(){;}
}
A a1 = new A();
A a2 = new A();
这个i不属于a1也不属于a2
而a1和a2分别由一个属性叫x更具体点说就是
x是你让a1和a2所(分别)拥有的属性,
而i是你让类A所拥有的属性。而方法也是同样道理,
m是你让a1和a2所拥有的方法,
new完a1和a2以后,
如果你在m里面定义了一个static的变量,
你让这个变量是属于a1啊?还是a2啊?还是属于类A啊?当然你可以说
“按照逻辑,当然要属于类A”如果是这样,那么java就属于“可以动态的给class加入属性”
大概那就成动态语言,就不是java了。
至少java不可以我说的也可能不对,
lz随便看看吧good luck