A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.静态变量是否可以定义在方法中,为什么?

        如:public void add()
{
        static int = 3;
        }

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 鼓励新同学的到来+1

查看全部评分

4 个回复

倒序浏览
可以,静态之后,即使第二次调用方法,变量的值仍保存着

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 鼓励新同学+1

查看全部评分

回复 使用道具 举报
不可以,即使是静态方法也不可以定义静态变量。静态方法只能调用静态变量。
因为静态的属性会在静态方法之前初始化,而非静态方法是由对象调用才会在内存中初始化,就更不可以了。

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 圆满了!别忘记也要来看看~

查看全部评分

回复 使用道具 举报
不可以,static只能用来修饰成员。定义在方法中就成了局部的了。
static变量称为静态变量,也称为全局变量,static定义的变量会优先于任何其它非static变量。
回复 使用道具 举报
不可以。因为静态变量存在于静态区作为全局变量,存在周期长。
非静态方法存在于方法区,原则上该方法调用完后要同方法内数据一起清除;
但是静态变量并不随着非静态方法的清楚而消失,违背原则。


评分

参与人数 1技术分 +1 收起 理由
FFF + 1 鼓励分+1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马