国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - 深入理解Java中的final關(guān)鍵字_動力節(jié)點(diǎn)Java學(xué)院整理

深入理解Java中的final關(guān)鍵字_動力節(jié)點(diǎn)Java學(xué)院整理

2020-09-17 15:51動力節(jié)點(diǎn) Java教程

Java中的final關(guān)鍵字非常重要,它可以應(yīng)用于類、方法以及變量。這篇文章中我將帶你看看什么是final關(guān)鍵字以及使用final的好處,具體內(nèi)容詳情通過本文學(xué)習(xí)吧

Java中的final關(guān)鍵字非常重要,它可以應(yīng)用于類、方法以及變量。這篇文章中我將帶你看看什么是final關(guān)鍵字?將變量,方法和類聲明為final代表了什么?使用final的好處是什么?最后也有一些使用final關(guān)鍵字的實(shí)例。final經(jīng)常和static一起使用來聲明常量,你也會看到final是如何改善應(yīng)用性能的。

final關(guān)鍵字的含義?

final在Java中是一個(gè)保留的關(guān)鍵字,可以聲明成員變量、方法、類以及本地變量。一旦你將引用聲明作final,你將不能改變這個(gè)引用了,編譯器會檢查代碼,如果你試圖將變量再次初始化的話,編譯器會報(bào)編譯錯(cuò)誤。

什么是final變量?

凡是對成員變量或者本地變量(在方法中的或者代碼塊中的變量稱為本地變量)聲明為final的都叫作final變量。final變量經(jīng)常和static關(guān)鍵字一起使用,作為常量。下面是final變量的例子:

?
1
2
public static final String LOAN = "loan";
   LOAN = new String("loan") //invalid compilation error

final變量是只讀的。

什么是final方法?

final也可以聲明方法。方法前面加上final關(guān)鍵字,代表這個(gè)方法不可以被子類的方法重寫。如果你認(rèn)為一個(gè)方法的功能已經(jīng)足夠完整了,子類中不需要改變的話,你可以聲明此方法為final。final方法比非final方法要快,因?yàn)樵诰幾g的時(shí)候已經(jīng)靜態(tài)綁定了,不需要在運(yùn)行時(shí)再動態(tài)綁定。下面是final方法的例子:

?
1
2
3
4
5
6
7
8
9
10
11
class PersonalLoan{
  public final String getName(){
    return "personal loan";
  }
}
class CheapPersonalLoan extends PersonalLoan{
  @Override
  public final String getName(){
    return "cheap personal loan"; //compilation error: overridden method is final
  }
}

什么是final類?

使用final來修飾的類叫作final類。final類通常功能是完整的,它們不能被繼承。Java中有許多類是final的,譬如String, Interger以及其他包裝類。下面是final類的實(shí)例:

?
1
2
3
4
final class PersonalLoan{
  }
  class CheapPersonalLoan extends PersonalLoan{ //compilation error: cannot inherit from final class
}

final關(guān)鍵字的好處

下面總結(jié)了一些使用final關(guān)鍵字的好處

1. final關(guān)鍵字提高了性能。JVM和Java應(yīng)用都會緩存final變量。

2. final變量可以安全的在多線程環(huán)境下進(jìn)行共享,而不需要額外的同步開銷。

3. 使用final關(guān)鍵字,JVM會對方法、變量及類進(jìn)行優(yōu)化。

不可變類

創(chuàng)建不可變類要使用final關(guān)鍵字。不可變類是指它的對象一旦被創(chuàng)建了就不能被更改了。String是不可變類的代表。不可變類有很多好處,譬如它們的對象是只讀的,可以在多線程環(huán)境下安全的共享,不用額外的同步開銷等等。

關(guān)于final的重要知識點(diǎn)

1. final關(guān)鍵字可以用于成員變量、本地變量、方法以及類。

2. final成員變量必須在聲明的時(shí)候初始化或者在構(gòu)造器中初始化,否則就會報(bào)編譯錯(cuò)誤。

3. 你不能夠?qū)inal變量再次賦值。

4. 本地變量必須在聲明時(shí)賦值。

5. 在匿名類中所有變量都必須是final變量。

6. final方法不能被重寫。

7. final類不能被繼承。

8. final關(guān)鍵字不同于finally關(guān)鍵字,后者用于異常處理。

9. final關(guān)鍵字容易與finalize()方法搞混,后者是在Object類中定義的方法,是在垃圾回收之前被JVM調(diào)用的方法。

10. 接口中聲明的所有變量本身是final的。

11. final和abstract這兩個(gè)關(guān)鍵字是反相關(guān)的,final類就不可能是abstract的。

12. final方法在編譯階段綁定,稱為靜態(tài)綁定(static binding)。

13. 沒有在聲明時(shí)初始化final變量的稱為空白final變量(blank final variable),它們必須在構(gòu)造器中初始化,或者調(diào)用this()初始化。不這么做的話,編譯器會報(bào)錯(cuò)“final變量(變量名)需要進(jìn)行初始化”。

14. 將類、方法、變量聲明為final能夠提高性能,這樣JVM就有機(jī)會進(jìn)行估計(jì),然后優(yōu)化。

15. 按照J(rèn)ava代碼慣例,final變量就是常量,而且通常常量名要大寫:

?
1
private final int COUNT = 10;

對于集合對象聲明為final指的是引用不能被更改,但是你可以向其中增加,刪除或者改變內(nèi)容。譬如:

?
1
2
3
4
private final List Loans = new ArrayList();
list.add(“home loan”); //valid
list.add("personal loan"); //valid
loans = new Vector(); //not valid

我們已經(jīng)知道final變量、final方法以及final類是什么了。必要的時(shí)候使用final,能寫出更快、更好的代碼的。

以上所述是小編給大家介紹的深入理解Java中的final關(guān)鍵字_動力節(jié)點(diǎn)Java學(xué)院整理,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對服務(wù)器之家網(wǎng)站的支持!

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: av网站在线看 | 国产精品毛片久久久 | 亚洲国产精品99久久久久久久久 | 欧美在线视屏 | 91偷拍精品一区二区三区 | 久久久久久久久久久九 | 中文在线视频 | 一区二区视频在线观看 | 国产精品一区二区久久久 | 午夜精品一区二区三区在线视频 | 亚洲综合视频在线观看 | 91网在线| 欧美一级淫片丝袜脚交 | av小说在线观看 | 99热在线精品免费 | 国产天天操 | 伊人一区二区三区 | 特黄特黄aaaa级毛片免费看 | 久久成人免费视频 | 日韩精品在线视频 | 91精品国产九九九久久久亚洲 | 91精品综合久久久久久五月天 | 精品无码久久久久久国产 | 精品人成 | 一级在线观看视频 | 成人精品 | 成人免费视频在线观看 | 成人aaaa免费全部观看 | 毛片大全| 亚洲国产精品久久 | 国产第一二区 | 国产日韩精品一区 | 欧美成人精品一区二区三区 | 成人在线观| 欧美精品综合 | 色吧av | 波多一区二区 | 欧美精品一区二区在线观看 | 亚洲一区国产精品 | 最近韩国日本免费高清观看 | 97色综合 |