【发布时间】:2010-02-10 13:08:13
【问题描述】:
目前我正在尝试像这样调用它:
class Test {
public static void test() {
System.out.println("hi");
}
public static void main(String[] args) {
Test t = null;
t.test();
}
}
代码的输出是hi
【问题讨论】:
-
您能否使用“代码”格式重新格式化您的问题?
-
请注意,如果您将
Test t = null;更改为Test t = new Test();,您的代码将可以正常工作 -
@The Feast:它现在仍然有效,请参阅我对排名靠前的答案的评论。
-
哇,我从来不知道 - 在这种情况下,编译器的优化方式可能会改变流程。
-
也看看这个问题:stackoverflow.com/questions/2223386/…。通过实例调用静态方法只是一个语法技巧。他们应该禁止这样做,这只会带来混乱。
标签: java static methods invocation