Java之fianl修飾符

來源:互聯網
上載者:User

標籤:

fianl修飾的變數不可以改變,一旦獲得初始值,該final變數的值就不能被重新賦值。

1.final成員變數(必需由程式員顯式地指定初始值)

    類變數:必須在靜態初始化塊中或者聲明該變數時指定初始值,二者選一

    執行個體變數:必須在非靜態初始化塊,或聲明該變數,或構造器中指定初始值

2.final局部變數

    final定義的局部變數可以在定義的時候指定預設值,也可以不指定預設值。如果在定義的時候沒有指定預設值,則在以後的代碼中可以指定預設值,但只能指定一次。

3.final修飾基本類型變數和參考型別變數的區別

   當final修飾基本類型變數時,不能對基本類型物件變數重新賦值。但當final修飾參考型別變數時,它儲存的僅僅是一個引用,final只是保證這個應用類型變數的引用地址不變,即一直引用同一個對象,但這個對象完全可以發生改變。

public class Test(){    public static void main(String[] args)     {        //final修飾陣列變數,是一個引用變數        final int[] iArr = {5,6,7,8};        //輸出5 6 7 8        System.out.println(Arrays.toString(iArr));        //對數組元素進行賦值,合法        iArr[2] = -8 ;        //輸出5 -8 7 8        System.out.println(Arrays.toString(iArr));     }}

4.final方法
   final修飾的方法不可被重寫

5.final類

   final修飾的類不可以有子類,不可被繼承

 

Java之fianl修飾符

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.