因为1:生命周期
因为静态方法都是被共享的,放在堆内存中,直到JVM倒闭就会销毁
非静态方法 会 和是放栈内存 执行完后弹栈销毁
所以第一个就是说 你连生命周期都不一样,怎么调用?
小提示:
静态方法是可以共享里面的方法和属性【除了私有】,所以呢这也算一个小提示吧.....
所以牵扯到因为2:线程安全问题:
静态方法是共享代码段,静态变量是共享数据段。既然是“共享”就有并发(Concurrence)的问题。
非静态方法是针对确定的一个对象的,所以不会存在线程安全的问题。
最后的最后 那就是不能,初学不需要懂那么多,这些学到神仙级别了解也不迟.