首頁  >  文章  >  Java  >  java學習之路-final關鍵字詳解

java學習之路-final關鍵字詳解

王林
王林轉載
2019-11-30 14:04:372453瀏覽

java學習之路-final關鍵字詳解

一、概述​​

學習了繼承後,我們知道,子類別可以在父類別的基礎上改寫父類別內容,例如,方法重寫。那我們能不能隨意的繼承API中提供的類,改寫其內容呢?顯然這是不合適的。為了避免這種隨意改寫的情況,Java提供了final來修飾不可改變內容。

final: 不可改變。可以用於修飾類別、方法和變數。

類別:被修飾的類,不能被繼承。

方法:被修飾的方法,不能重寫。

變數:被修飾的變量,不能被重新賦值。

分享免費學習影片教學:java影片教學

二、使用方式

##修飾類別

格式如下:

java學習之路-final關鍵字詳解

查詢API,發現像

public class final Stringpublic class final Math、public class final Scanner等,很多我們學過的類,都是被final修飾的,目的就是供我們使用,而不讓我們隨意改變其內容。

修飾方法

格式如下:

java學習之路-final關鍵字詳解

#注意:重寫被fianl 修飾的方法,編譯時就會報錯。

修飾變數

1、局部變數—基本型別

基本型別的局部變量,被final修飾後,只能賦值一次,不能再更改。程式碼如下:

java學習之路-final關鍵字詳解

思考,以下兩種寫法,哪一種可以透過編譯?

寫入法1:

java學習之路-final關鍵字詳解

寫法2:

java學習之路-final關鍵字詳解

根據final 的定義,寫法1報錯!寫法2,為什麼透過編譯?因為每次循環,都是一次新的變數c。這也是大家需要注意的地方。

2、局部變數—引用類型

引用類型的局部變量,被final修飾後,只能指向一個對象,地址不能再更改。但是不影響物件內部的成員變數值的修改。

程式碼如下:

java學習之路-final關鍵字詳解

3、成員變數##成員變數涉及到初始化的問題,初始化方式有兩種,只能二選一:

顯示初始化

java學習之路-final關鍵字詳解

#建構法初始化

java學習之路-final關鍵字詳解

##注意:被final修飾的常數名稱,一般都有書寫規範,所有字母都大寫。

想學習更多相關教學課程,請造訪java開發入門

以上是java學習之路-final關鍵字詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除