每日一課 | Java Final關鍵字示例

2022-01-02 CSDN Meetup
Java中的Final關鍵字是一個修飾符,用於限制用戶執行不需要的代碼或防止代碼或值被更改。可以在3個上下文中使用此關鍵字。他們是:
每個上下文都有其自身的意義和暗示的限制。它們將在下面詳細討論。1. FINAL關鍵字作為變量修飾符每個上下文都有其自己的不同目的。 final ,當與變量一起使用時,專門用於限制用戶在代碼中的其他任何地方更改值。 final變量一旦初始化,其值就無法更改。如果final變量只是聲明但未初始化,則允許在整個代碼中為final變量分配一個值。 final變量值的任何多次更改將導致編譯錯誤。FinalVariableExample.java

package com.mkyong;
public class FinalVariableExample {
  final int count = 0; 
  public FinalVariableExample() {
    count++; //The final field FinalVariableExample.count cannot be assigned
  }
}

Output: Compile Time error

2. FINAL關鍵字作為方法修飾符final ,當與method一起使用時,它限制了繼承的類以覆蓋method的定義。例如,下面的示例給出了一個編譯時錯誤,因為FinalMethodChild類試圖覆蓋final方法testCode()

package com.mkyong; 
public class FinalMethodParent {
  final void testCode(){
    System.out.println("This is a final method");
  }
}
 
class FinalMethodChild extends FinalMethodParent{ 
  //Cannot override the final method from FinalMethodParent
  void testCode(){
    System.out.println("This is overriding method");
  } 
}

Output: Compile Time error

3. FINAL關鍵字作為類修飾符final ,當用於一個類的修飾符時,它限制該類被任何其他類擴展或繼承。例如,如果您嘗試編譯以下代碼,則它會給出編譯時錯誤,因為FinalClassParent類是無法進一步擴展的最終類。

package com.mkyong; 
public final class FinalClassParent {
  final void testCode(){
    System.out.println("This is a final method");
  }
}
 
//The type FinalClassChild cannot subclass the final class FinalClassParent
class FinalClassChild extends FinalClassParent{ 
  void testCode(){
    System.out.println("This is overriding method");
  }
 
}

Output: Compile Time error

參考文獻:翻譯自: https://mkyong.com/java/java-final-keyword-example/

相關焦點

  • Java之final關鍵字詳解
    前言針對Java語言中的final關鍵字,想必都不陌生了。本來主要是來對final做關鍵字做一個總結。final關鍵字用法修飾類當用final去修飾一個類的時候,表示這個類不能被繼承。注意:a.被final修飾的類,final類中的成員變量可以根據自己的實際需要設計為fianl。b. final類中的成員方法都會被隱式的指定為final方法。說明:在自己設計一個類的時候,要想好這個類將來是否會被繼承,如果可以被繼承,則該類不能使用fianl修飾,在這裡呢,一般來說工具類我們往往都會設計成為一個fianl類。在JDK中,被設計為final類的有String、System等。
  • 淺析Java中的final關鍵字
    談到final關鍵字,想必很多人都不陌生,在使用匿名內部類的時候可能會經常用到final關鍵字。另外,Java中的String類就是一個final類,那麼今天我們就來了解final這個關鍵字的用法。下面是本文的目錄大綱:  一.final關鍵字的基本用法  二.深入理解final關鍵字  若有不正之處,請多多諒解並歡迎指正。
  • [博客更新]Java 中 final 關鍵詞的使用
    上一篇文章我們講了 java 中 static 關鍵字的使用,這裡再將一下 final 關鍵字的使用。final 在 java 中可以看做一個「終結者」,它可以定義類、定義方法和定義變量。哎呀,好像沒別的可說了,就這樣吧,這可能是我寫過的字數最少的一篇文章了 算了,最後加一個示例程序吧,當然是錯誤的程序,包含了以上三種使用方法的錯誤使用報錯信息:package com.example.finalDemo;/** * User: sunriseydy * 2018-4-25 22:04 */finalclassPerson{String name
  • java關鍵字——final
    對於初學者來說,我們先看這個英文的中文意思,final最終的。final可以修飾類、變量、方法,下面我們分別做講解。1.final修飾類final類表示最終的類,言外之意就是不能有其他類繼承這個final類,所以在做開發時如果自己寫的類不能有繼承,那麼就用final修飾;注意點:final類中的變量可以根據需要設為final,但是final類中的所有方法都會被隱式地指定為final方法2.final變量final變量表示最終的變量,言外之意就是這個變量為常量
  • 一文解析Java常用關鍵字
    二、Java 51個關鍵字 記住1:兩個保留字:const和goto (保留字:現在沒用,以後用得上) 記住2:所有的關鍵字都是小寫,一旦有大寫的,一定不是關鍵字 三、關鍵字static static是java中的一個關鍵字
  • Java 訪問權限控制:你真的了解 protected 關鍵字嗎?
    (o.hashCode());    }} 我們給自己的程序設置的包名是java.lang,事實上,java.lang是JDK使用的包名。這時,程序可以正常編譯,但當我們運行程序時會有包衝突警告並拋出 「java.lang.SecurityException: Prohibited package name: java.lang」,如下圖所示:
  • 深入理解Java中的final關鍵字
    將變量、方法和類聲明為final代表了什麼?使用final的好處是什麼?最後也有一些使用final關鍵字的實。
  • Java之final關鍵字的簡單介紹下
    各位小夥伴大家好,在之前的文章中,小編有介紹過,final關鍵字修飾局部變量Java之final關鍵字的簡單介紹中,支持小編要介紹的是final關鍵字修飾成員變量Java之成員變量和局部變量的區別。final關鍵字修飾成員變量:對於成員變量來說,如果使用final關鍵字,那麼這個變量是不可變。1.由於成員變量具有默認值,所以用了final之後必須手動賦值,不會給默認值了。2.對於final修飾的成員變量,要麼使用直接賦值,要麼通過構造方法Java之構造方法與this關鍵字的簡單介紹賦值,二者選其一3.必須保證類當中所有重載的構造方法,都最終會對final的成員變量進行賦值。
  • Java之final關鍵字的簡單介紹中
    各位小夥伴,大家好,在之前的文章小編有介紹過關鍵字fina修飾類和成員方法Java之final關鍵字的簡單介紹上。這次,小編要介紹的是關鍵字final修飾局部變量。finalint num2=100;System.out.println(num2);//int num2=300;報錯//正確寫法,只要保證有唯一一次複製即可。int num3;num3=300;對於基本數據類型來說,不可變說的是變量中的數據不可改變。對於引用類型來說,不可變的變量是地址值不可以改變。
  • java中static, final, 內部類的具體運用
    public class Person {private String name;private int age;//靜態代碼塊static{System.out.println("靜態代碼塊執行了");}}final關鍵字:關鍵字final,final的意思為最終
  • 「原創」Java並發編程系列06|你不知道的final
    本文轉載自【微信公眾號:java進階架構師,ID:java_jiagoushi】經微信公眾號授權轉載,如需轉載與原文作者聯繫final在Java中是一個保留的關鍵字,可以修飾變量、方法和類。那麼fianl在並發編程中有什麼作用呢?本文就在對final常見應用總結基礎上,講解final並發編程中的應用。
  • Java之throw關鍵字的簡單介紹
    各位小夥伴們大家好,在之前的文章中小編介紹了異常的產生過程Java之異常產生過程解析,這次小編要介紹的是throw關鍵字,這個關鍵字可以在指定的方法中拋出指定的異常。使用格式:throw new xxxException("異常產生的原因");使用這個關鍵字,大家要注意以下幾點:throw關鍵字必須寫在方法的內部。
  • 18 個示例帶你掌握 Java 8 日期時間處理!
    Java處理日期、日曆和時間的方式一直為社區所詬病,將 java.util.Date設定為可變類型,以及SimpleDateFormat的非線程安全使其應用非常受限。新API基於ISO標準日曆系統,java.time包下的所有類都是不可變類型而且線程安全。
  • Java之局部內部類的final問題
    各位小夥伴們大家好,在之前的文章中,小編有介紹過局部內部類Java之局部內部類的定義與使用,這次小編要補充一點,局部內部類的final問題。在局部內部類當中,如果希望訪問所在方法的局部變量,那麼這個局部變量必須是【有效final的】。
  • 每日一爪哇,Java面試題3
    final 在 Java 中有什麼作用final作為Java中的關鍵字可以用於三個地方。用於修飾類、類屬性和類方法。特徵:凡是引用final關鍵字的地方皆不可修改!(1)修飾類:表示該類不能被繼承;使用final修飾類的目的簡單明確::表明這個類不能被繼承。當程序中有永遠不會被繼承的類時,可以使用final關鍵字修飾。被final修飾的類所有成員方法都將被隱式修飾為final方法。
  • 「java」使用jwt進行認證授權
    先來看下jwt的java實現。<dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version
  • 3分鐘帶你品嘗新鮮出爐的Java 17,看完就知道香不香!
    2.1  JEP 306: Restore Always-Strict Floating-Point Semantics主要就是簡化數學類庫的開發,包括java.lang.Math and java.lang.StrictMath.
  • 【答疑解惑】java中static關鍵字的作用
    而非靜態變量是對象所擁有的,在創建對象的時候被初始化,存在多個副本,各個對象擁有的副本互不影響。static成員變量的初始化順序按照定義的順序進行初始化。static代碼塊static關鍵字還有一個比較關鍵的作用就是 用來形成靜態代碼塊以優化程序性能。static塊可以置於類中的任何地方,類中可以有多個static塊。
  • 初識Java8 Stream、流的基本操作
    本文中的部分示例基於如下場景:餐廳點菜,Dish為餐廳中可提供的菜品,Dish的定義如下: 1public class Dish { 2     3    private final String name; 4     5    private final boolean vegetarian; 6     7
  • Java基礎面試題簡單總結
    如果你對字符串中的內容經常進行操作,特別是內容要修改時,那麼使用StringBuffer,如果最後需要String,那麼使用StringBuffer的toString()方法34、談談final, finally, finalize的區別答:final—修飾符(關鍵字)如果一個類被聲明為