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

因为1:生命周期

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

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

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

小提示:

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

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

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

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

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

本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14820745.html

原文地址:https://www.cnblogs.com/bi-hu/p/14820745.html