java在类中调用静态方法使该类实例化

时间:2018-10-06 20:39:18

标签: java oop

我是Java的初学者,我有一个问题。在类中调用静态方法会使该类实例化吗?我的意思是,如果我调用一个类中存在的静态方法,JVM将在内存中创建此类的实例吗? 如果我有一个名为X的类和一个名为Y的类,则类Y包含一个静态方法M,该方法实例化了另一个名为Z的类,该类扩展了线程

public class X {
    public static void main(String[] args) {
        Y.M();
    }
}
public class Y {
    static void M() {
        new Z().start();
    }
}
class Z extends Thread {      
   public void run() {   
     ConnectToServer();
    }
}

现在我要记住多少个Y实例?

1 个答案:

答案 0 :(得分:1)

  

如果我调用了类中存在的静态方法,JVM将在内存中创建此类的实例吗?

不。静态方法是类级别的方法。不会在对象(=类的实例)上调用它们,并且JVM不必创建类的实例来调用静态方法。

JVM将加载并初始化该类(这意味着:它运行静态初始化器),但不会创建该类的实例。

更多信息:The Java Tutorials - Understanding Class Members