黑马程序员技术交流社区
标题:
为什么静态属性不能定义在方法(包括静态方法)内?
[打印本页]
作者:
程程程程程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