Java静态与实例

所以我的编码器朋友讨厌使用静态编码。然而,我的Java程序充满了它在类之间的链接,我有很多它们!

是否值得重写整个代码来删除静态方法?

使用一个优于另一个是否有任何优势?

最佳答案
1.实例变量是每个Object一个,每个对象都有自己的实例变量副本。

例如:

public class Test{

   int x = 5;

 }

Test t1 = new Test();   
Test t2 = new Test();

t1和t2都有自己的x副本。

2.静态变量是每个类一个,该类的每个对象共享相同的静态变量。

例如:

public class Test{

   public static int x = 5;

 }

Test t1 = new Test();   
Test t2 = new Test();

t1和t2都将在它们之间共享一个x。

3.当JVM加载类时,初始化静态变量。

静态方法不能访问非静态变量或方法。

5.静态方法和静态变量可以模仿Singleton模式,但是IT不是正确的方式,就像有很多类时那样,我们无法确定JVM的类加载顺序,这可能会创建一个问题。

转载注明原文:Java静态与实例 - 代码日志