1. 程式人生 > >Java:final關鍵字

Java:final關鍵字

itl 訪問 width cal 一個 otto 圖片 class ont

首發日期:2018-03-24


final關鍵字:

  • final的作用:相當於使修飾的變量、方法或類“固定、最終化”,使得修飾的變量、方法、類不能再做改變【可以限制繼承的重寫】。
  • final可以修飾類、方法、變量。
  • final修飾的類不可以被繼承。
  • final修飾的方法不可以被覆蓋(重寫)技術分享圖片
  • final修飾的變量是一個常量,final修飾的變量必須顯式初始化,並且只能初始化一次。【初始化手段可以是直接聲明並賦值,也可以在初始化代碼塊中或構造函數中賦值,或者形式參數傳參】
  • final不能跟abstract interface等共存,因為final修飾的類不能被繼承、重寫
  • final修飾引用變量:可以修改內部數據,但不能修改指向的對象

補充:

內部類如果要使用局部變量,只能訪問被final修飾的局部變量:

局部變量的生命周期與內部類不同,當局部變量被final修飾的時候,這個被final修飾的變量就變成了內部類中的數據成員

(Java采用了一種copy local variable(復制局部變量)的方式來實現, 也就是說把定義為final的局部變量拷貝過來用,而引用的也可以拿過來用,只是不能重新賦值。從而造成了可以access local variable(訪問局部變量)的假象,而這個時候由於不能重新賦值, 所以一般不會造成不可預料的事情發生。)技術分享圖片


Java:final關鍵字