使用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