国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

Java中final關鍵字詳解

2024-05-04 22:35:12
字體:
來源:轉載
供稿:網友

談到final關鍵字,想必很多人都不陌生,在使用匿名內部類的時候可能會經常用到final關鍵字。另外,Java中的String類就是一個final類,那么今天我們就來了解final這個關鍵字的用法。
主要介紹:一.final關鍵字的基本用法。二.深入理解final關鍵字

一.final關鍵字的基本用法

  在Java中,final關鍵字可以用來修飾類、方法和變量(包括成員變量和局部變量)。下面就從這三個方面來了解一下final關鍵字的基本用法。

  1.修飾類

  當用final修飾一個類時,表明這個類不能被繼承。也就是說,如果一個類你永遠不會讓他被繼承,就可以用final進行修飾。final類中的成員變量可以根據需要設為final,但是要注意final類中的所有成員方法都會被隱式地指定為final方法。

  在使用final修飾類的時候,要注意謹慎選擇,除非這個類真的在以后不會用來繼承或者出于安全的考慮,盡量不要將類設計為final類。

  2.修飾方法

  下面這段話摘自《Java編程思想》第四版第143頁:

  “使用final方法的原因有兩個。第一個原因是把方法鎖定,以防任何繼承類修改它的含義;第二個原因是效率。在早期的Java實現版本中,會將final方法轉為內嵌調用。但是如果方法過于龐大,可能看不到內嵌調用帶來的任何性能提升。在最近的Java版本中,不需要使用final方法進行這些優化了。“

  因此,如果只有在想明確禁止 該方法在子類中被覆蓋的情況下才將方法設置為final的。

  注:類的private方法會隱式地被指定為final方法。

  3.修飾變量

  修飾變量是final用得最多的地方,也是本文接下來要重點闡述的內容。首先了解一下final變量的基本語法:

  對于一個final變量,如果是基本數據類型的變量,則其數值一旦在初始化之后便不能更改;如果是引用類型的變量,則在對其初始化之后便不能再讓其指向另一個對象。

  舉個例子:

  

  上面的一段代碼中,對變量i和obj的重新賦值都報錯了。

二.深入理解final關鍵字

  在了解了final關鍵字的基本用法之后,這一節我們來看一下final關鍵字容易混淆的地方。

1.類的final變量和普通變量有什么區別?

  當用final作用于類的成員變量時,成員變量(注意是類的成員變量,局部變量只需要保證在使用之前被初始化賦值即可)必須在定義時或者構造器中進行初始化賦值,而且final變量一旦被初始化賦值之后,就不能再被賦值了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 山丹县| 宜春市| 乌兰察布市| 白水县| 丹凤县| 平江县| 萝北县| 左贡县| 阿拉善左旗| 安多县| 河曲县| 奉贤区| 如东县| 苏尼特右旗| 陈巴尔虎旗| 津市市| 宿松县| 屯留县| 阿瓦提县| 昂仁县| 南丰县| 通许县| 凤城市| 乌拉特中旗| 慈溪市| 苗栗市| 宝丰县| 九龙坡区| 鱼台县| 盖州市| 辽源市| 光山县| 英吉沙县| 新竹市| 吴桥县| 来安县| 平乡县| 民和| 青铜峡市| 铜川市| 任丘市|