作者embman (無尾熊)
看板java
標題[問題] 請問一個Java技術手冊的exercise的問題
時間Thu Oct 10 07:54:56 2013
這幾天再復習Java使用講師林信良的Java SE7 技術手冊
再寫書上網站所附的練習題的時候,有一題答案有點納悶?
1. 如果有以下程式片段: public class Some {
private Some some;
private Some() {}
public static Some create() {
if(some == null) {
some = new Some();
}
return some;
}
}
以下描述何者正確?
(A) 編譯失敗
(B) 客戶端必須 new Some()產 Some 生實例
(C) 客戶端必須 new Some().create()產生 Some 實例
(D) 客戶端必須 Some.create()產生 Some 實例
答案:D
我覺得答案應該是(A),因為static方法不能使用非static資料成員
請問我的理解對嗎?
我實際run,也是有錯誤:
non-static variable pra cannot be referenced from a static context
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.238.102
→ realmeat:你是對的 10/10 07:59
推 JustinHere:private static Some some; // 題目少打 static 了 XD 10/10 16:50
推 LaPass:題目有錯.... 話說我居然沒一眼看出錯誤.... = = 10/10 21:40
推 Killercat:因為它漏字 最上面少了一個static 10/11 12:56