为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不能将方法体内的局部变量声明为static?

为什么不能将方法体内的局部变量声明为static?

qq_不睡觉的怪叔叔_0 2016-07-25 09:45:21
如题
查看完整描述

4 回答

?
最终幻想ssd

TA贡献4条经验 获得超2个赞

static意思就是全局变量,肯定要放于类中,以便所有成员共享使用,方法是一种私有的形式,里面的变量都是只有在此方法中才有用,全局变量肯定不能放在这里了。

查看完整回答
反对 回复 2016-07-29
?
blovetu

TA贡献319条经验 获得超234个赞

这个和加载顺序有关,在类加载的时候首先是加载的静态的变量,静态的代码段,然后加载静态方法。当你将你的静态变量写在静态方法中的时候,很明显违反了加载的顺序。

查看完整回答
反对 回复 2016-07-25
?
JaysonLee

TA贡献12条经验 获得超12个赞

除非方法也是静态方法!
静态变量或方法,属于类变量或方法;而非静态方法或变量是实例方法或变量。
实例的是需要实例化类才能调用,如: var p=new Person;p.方法 或 p.属性。
而静态的是:Person.方法或Person.
属性,可直接调用。

查看完整回答
反对 回复 2016-07-25
?
一条小咸鱼

TA贡献457条经验 获得超255个赞


大概static是类变量,属于所有对象共享。

而方法中的都是局部变量,生命周期只在方法体中。

查看完整回答
反对 回复 2016-07-25
  • 4 回答
  • 0 关注
  • 1901 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信