Which two actions will improve the encapsulation of a class?



A. Changing the access modifier of a field from public to private
B. Removing the public modifier from a class declaration
C. Changing the return type of a method to void
D. Returning a copy of the contents of an array or ArrayList instead of a direct reference

題解

選項A,把欄位用private修飾字來宣告成私有成員,接著再使用setter和getter方法來提供給外部存取確實會比較符合封裝的概念。

選項B,為了要讓類別可以被外部使用,還是需要公開的方法的。

選項C,也要有可以回傳數值或是物件的方法,不然類別的作用不大。

選項D,複製一份新的陣列物件可以避免封裝內的陣列物件裡的內容在外部被改變。