更新時間:2020-07-03 16:13:41 來源:動力節點 瀏覽2629次
final關鍵字可以用于三個地方。用于修飾類、類屬性和類方法。
被final關鍵字修飾的類不能被繼承,被final關鍵字修飾的類屬性和類方法不能被覆蓋(重寫);
對于被final關鍵字修飾的類屬性而言,子類就不能給他重新賦值了,如果重新賦值,會報錯:
下圖所示,當我們直接給name賦值時,因為父類中的name屬性被final修飾,所以eclipse會報錯。但是這里有一個特別容易混淆的地方:
請注意,我們在name之前加上了一個String關鍵字,其結果是從新發定義了一個變量,雖然變量名都是name,但是在內存中占用的區域卻不同,所以不與之沖突,不會報錯。
接下來是在類方法前加上final關鍵字的用法。與類屬性類似,父類方法如果用final關鍵字進行修飾,那么不能被覆蓋,但要說明一點的是,不能被重寫是指不能同時和和父類方法同名,同參數,換句話講,只要子類中的方法與父類中的方法同名,同參數列表,即使返回值不同,仍然是屬于重寫的范疇
這里的子類方法報錯,是因為他與父類中的print方法同名同參數,即使他們返回值不同,但仍然是屬于重寫的范疇。所以這里有一個小結論:
重寫:只要子類方法與父類方法同名同參數就是重寫。
以上就是動力節點java培訓機構的小編針對“Java中final關鍵字有哪些作用”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習