黑马程序员技术交流社区

标题: 为什么静态属性不能定义在方法(包括静态方法)内? [打印本页]

作者: 程程程程程92    时间: 2015-12-30 00:44
标题: 为什么静态属性不能定义在方法(包括静态方法)内?

        a)        方法中的变量只是局部变量,并不能被方法之外所识别,
                所以不能使用public、private、protected、static等修饰。
        b)        静态变量是属于整个类的,并不属于某一个对象,即所有对象共享一个静态变量。
                而成员函数只有在创建对象时才能进行引用,如果把静态变量定义在成员函数内,岂不是静态变量归类的某个对象所有?
        c)        局部变量是保存在栈中的,而静态变量保存在方法区。
                局部变量出了方法区(或者说随着方法的弹栈)就被栈回收了,而静态变量不会,所以在局部变量前不能加static关键字。

作者: 1314521ch    时间: 2015-12-30 01:53
说的太好了
作者: 1158147908    时间: 2015-12-30 07:25
静态静态变量出现的时间也比局部变量早呀
作者: qinrongchang    时间: 2015-12-30 10:31
这样纸 还没看到
作者: 337325635    时间: 2015-12-30 21:51
有一点懂了




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