同样以一个Person类为演示,Person里加入一个static ss 成员变量和一个printStatic 静态方法。
在内存中显示如下

如上图所示,static 会在方法区创建ss成员变量和printStatic方法。由于static会在堆空间方法区,所以static不可以直接调用左侧的非static方法及变量,当然,这只是通过图形一种形象有解释,实际上是不对的。 实质上,因为静态方法在类装载的时候就分配了内存块,而非静态的方法和变量在new这个类的对象的时候才分配内存块, 他们内存分配的时间不一样 静态区域访问非静态区域是没有任何意义的
本文探讨了Java中静态成员变量和静态方法的概念。通过一个Person类的例子,解释了静态成员如何在方法区创建,并讨论了静态成员与实例成员之间的区别。
4845

被折叠的 条评论
为什么被折叠?



