西西河

主题:【游戏】不看不知道,一看吓一跳!!! -- Highway

共:💬47 🌺6
全看分页树展 · 主题 跟帖
家园 不是static的问题。如果不是static,PrintWords没有办法

直接使用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());

}

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河