0
我是Java新手,爲我的OCJP考試閱讀一本書。在本書中,它聲明的非靜態內部類只有聲明爲靜態最終時纔可以有靜態成員。但是當我嘗試創建容器類的static final object
時出現編譯錯誤。在非靜態內部類中的靜態最終對象編譯錯誤
class Logger {
private Logger() {
// private constructor for singleton
}
public class LoggerHolder { // non static inner class
public static final int x =10; // No compile here
public static final Logger logger = new Logger(); //Compile error
}
//"The field logger cannot be declared static; static fields can only be declared in static or top //level types"
public static Logger getInstance() {
return LoggerHolder.logger;
}
}
的'logger'在編譯時間,這就是爲什麼它是不允許知道。 – 2014-12-27 15:04:49
Mhh,'Logger'和'Logger4' ...哪裏可能出現問題? – Tom 2014-12-27 15:20:27
@湯姆哦...對不起,我的壞....那是複製粘貼錯誤。我現在編輯它... – 2014-12-27 20:49:34