SCJP 1.6版考題 065

出自 陳富國維基館
於 2013年3月30日 (六) 06:55 由 Ikk (對話 | 貢獻) 所做的修訂 (新頁面: Replace two of the Modifiers that appear in the Single class to make the code compile. Note: Three modifiers will not be used and four modifiers in the code will remain unchanged. [...)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
前往: 導覽搜尋
Replace two of the Modifiers that appear in the Single class to make the code compile. 
Note: Three modifiers will not be used and four modifiers in the code will remain unchanged.

SCJP65-1.png


解答


Ans:
SCJP65-2.png

解說:

getInstance中喚用create方法,因為getInstance是static,要直接使用create方法(不透過物件)的條件是create方法必須為static
因此,把protected換成static
題目的條件:三個存取修飾子將不會被用到,並且,程式碼中四個修飾子保持不變
我們已經將protected換成static,程式碼中少掉一個修飾子,加上”程式碼中四個修飾子保持不變”,少了一個protected
四個修飾子中要找一個換上protected,這支程式,可以換掉的只有private,
依封裝的原則,資料成員應為private,所以能改的就是Single這個建構子。