为什么静态方法 不可以 被 非静态方法调用? - JavaSe

因为1:生命周期

因为静态方法都是被共享的,放在堆内存中,直到JVM倒闭就会销毁

非静态方法 会 和是放栈内存 执行完后弹栈销毁

所以第一个就是说 你连生命周期都不一样,怎么调用?

 

小提示:

静态方法是可以共享里面的方法和属性【除了私有】,所以呢这也算一个小提示吧.....

所以牵扯到因为2:线程安全问题:

静态方法是共享代码段,静态变量是共享数据段。既然是“共享”就有并发(Concurrence)的问题。

非静态方法是针对确定的一个对象的,所以不会存在线程安全的问题。

 

最后的最后 那就是不能,初学不需要懂那么多,这些学到神仙级别了解也不迟.

posted @ 2021-05-28 09:17  咸瑜  阅读(391)  评论(0编辑  收藏  举报