如果想要理解静态方法为什么不用实例化就要了解jvm的底层知识.
1.jvm的实现是基于栈结构的.
2.类在加载时把类信息加载到java的内存中的方法区(这是共享的,有唯一性),new对象时,会在堆区里生成新的类实例,每new一个就生成一个新的实例(这是私有的)
3.普通类的方法都是在执行到方法时才会在内存中开一个新的空间,在这个空间里创建新的栈再根据椎中的实例来储存方法体内的局部变量和执行方法操作.在方法结束返回时,丢弃这个栈空间.它是不能共享的,一用完就没了.再需要的话就再生成再运行再丢弃
4.静态方法是在加载类时就已经被加载方法区里,它是可以共享的,每次要用它只要调用即可,不同在栈区里去生成.
为什么静态方法不能实例化
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 朋友跟我说:"真羡慕那些人,有钱又有颜值还有大把人喜欢。哎,那个人为什么不是我?为什么我没有出生在那样家庭呢?这辈...