在java中调用静态方法

Raj*_*Raj 11 java static-methods

可能重复:
如何在空引用上调用(静态)方法不会抛出NullPointerException?

任何人都可以解释为什么以下程序的输出被" 调用 "

public class Test4{

  public static void method(){
    System.out.println("Called");
  }

  public static void main(String[] args){
    Test4 t4 = null;
    t4.method();
  }
}
Run Code Online (Sandbox Code Playgroud)

我知道我们可以使用类引用调用静态方法,但在这里我使用null引用调用.请澄清我的疑问

Per*_*ror 15

在字节代码中

Test4 t4 = null;
t4.method();
Run Code Online (Sandbox Code Playgroud)

将会

Test4 t4 = null;
Test4.method();
Run Code Online (Sandbox Code Playgroud)

编译器会使用静态方法的类名转换调用.参阅本问题上的SO,我自己也问它.