黑马程序员技术交流社区

标题: 1.静态变量是否可以定义在方法中,为什么? [打印本页]

作者: 心的方向    时间: 2013-11-23 21:30
标题: 1.静态变量是否可以定义在方法中,为什么?
1.静态变量是否可以定义在方法中,为什么?

        如:public void add()
{
        static int = 3;
        }
作者: 1014917278    时间: 2013-11-23 22:31
可以,静态之后,即使第二次调用方法,变量的值仍保存着
作者: 中关村阿旺    时间: 2013-11-23 22:44
不可以,即使是静态方法也不可以定义静态变量。静态方法只能调用静态变量。
因为静态的属性会在静态方法之前初始化,而非静态方法是由对象调用才会在内存中初始化,就更不可以了。
作者: 张天昊76    时间: 2013-11-23 23:29
不可以,static只能用来修饰成员。定义在方法中就成了局部的了。
static变量称为静态变量,也称为全局变量,static定义的变量会优先于任何其它非static变量。
作者: 忘记了    时间: 2013-11-24 00:36
不可以。因为静态变量存在于静态区作为全局变量,存在周期长。
非静态方法存在于方法区,原则上该方法调用完后要同方法内数据一起清除;
但是静态变量并不随着非静态方法的清楚而消失,违背原则。







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2