其他分享
首页 > 其他分享> > 使用null对象引用调用静态方法时会发生什么?

使用null对象引用调用静态方法时会发生什么?

作者:互联网

public class CallingStaticMethod {
public static void method() {
    System.out.println("I am in method");
}
public static void main(String[] args) {
    CallingStaticMethod csm = null;
    csm.method();
   }
}

有人可以解释如何在上面的代码中调用静态方法吗?

解决方法:

它已经被编译器优化掉了,因为没有必要拥有类的实例.编译器基本上取代了

csm.method();

通过

CallingStaticMethod.method();

一般来说,这也是一个很好的做法.即使是普通的IDE也会警告你通过实例访问静态方法,至少Eclipse会在这里做.

标签:java,null,static-methods
来源: https://codeday.me/bug/20190927/1823123.html