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