主题:【游戏】不看不知道,一看吓一跳!!! -- Highway
共:💬47 🌺6
复 和我想象的相反
直接使用Words class的fields的without creating a object first。
我觉得关键是final。因为final意味着不能修改,所以Java编译器想优化程序,把Words里的值直接拿进去了。不巧second是个null,被留在了外面。如果我们去掉final,java编译器就“老实”了。结果如下:
public static void main(String args[])
{
System.out.println((new StringBuilder()).append(Words.FIRST).append(" ").append(Words.SECOND).append(" ").append(Words.THIRD).toString());
}
- 相关回复 上下关系4
有趣,直接猜 电子狼 字67 2005-06-28 12:54:22
😁当你第一次编译PrintWords的时候,程序是这样的 Highway 字268 2005-06-28 13:39:04
和我想象的相反 电子狼 字83 2005-06-28 13:46:03
不是static的问题。如果不是static,PrintWords没有办法