[問題] Java技術手冊的練習題

看板java作者 (無尾熊)時間11年前 (2013/10/10 07:54), 編輯推噓3(301)
留言4則, 4人參與, 最新討論串1/1
這幾天再復習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

10/10 07:59, , 1F
你是對的
10/10 07:59, 1F

10/10 16:50, , 2F
private static Some some; // 題目少打 static 了 XD
10/10 16:50, 2F

10/10 21:40, , 3F
題目有錯.... 話說我居然沒一眼看出錯誤.... = =
10/10 21:40, 3F

10/11 12:56, , 4F
因為它漏字 最上面少了一個static
10/11 12:56, 4F
文章代碼(AID): #1ILUpIxW (java)
文章代碼(AID): #1ILUpIxW (java)