Java學習第八天
阿新 • • 發佈:2021-07-11
一、今天學了什麼
1.封裝性的體現:
(1)將類的屬性私有化,同時,提供公共的方法來獲取(get)和設定(set)該屬性的值;
(2)不對外暴露私有的方法;
(3)單例模式(後續學習)。
2.對許可權修飾的理解:
許可權從小到大:private、預設(default)、protected、public
pubic、protected、private置於類成員的定義之前
注意:對class的許可權修飾只可以用public和default(預設)。
public類可以在任何地方被訪問。
default類只可被同一包內的類訪問。
二、出現的問題:
1.
報錯:
void 對於showPerson是無效變數
解決方法:將主方法中所有對PersonTest類宣告和初始化的部分放到PersonTest類中。
2.靜態方法訪問非靜態成員的問題:
問題原因:對於static修飾的方法而言,可以使用類來直接呼叫該方法,如果在static修飾的方法中使用this關鍵字,則這個關鍵字就無法指向合適的物件。所以,static修飾的方法中不能使用this 引用。由於static修飾的方法不能使用this 引用,所以static修飾的方法不能訪問不使用static修飾的普通成員,因此Java語法規定:靜態成員不能直接訪問非靜態成員。
(轉載至CSDN博主,原文連結:https://blog.csdn.net/beyong_78439/article/details/94451477)
解決方法:使用匿名物件的方式實現類的例項化以實現呼叫目的