我是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实例?
答案 0 :(得分:1)
如果我调用了类中存在的静态方法,JVM将在内存中创建此类的实例吗?
不。静态方法是类级别的方法。不会在对象(=类的实例)上调用它们,并且JVM不必创建类的实例来调用静态方法。
JVM将加载并初始化该类(这意味着:它运行静态初始化器),但不会创建该类的实例。