最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中final變量使用總結

 更新時間:2015年06月12日 09:01:14   投稿:junjie  
這篇文章主要介紹了Java中final變量使用總結,final關鍵字可用于變量聲明,一旦該變量被設定,就不可以再改變該變量的值,通常final定義的變量為常量,需要的朋友可以參考下

final關鍵字可用于變量聲明,一旦該變量被設定,就不可以再改變該變量的值。 通常final定義的變量為常量。如:

復制代碼 代碼如下:

final double PI = 3.14; 

當在程序中使用PI這個常量時,它的值就是3.14,如在程序中再次對定義為final的常量賦值,編譯器將不能接受;
final關鍵字定義的變量必須在聲明時對其進行賦值操作。final除了可以修飾基本數(shù)據(jù)類型的常量,還可以修飾對象引用。由于數(shù)組也可以被用作一個對象引用,所以final可以修飾數(shù)組。一旦一個對象引用被修飾為final后,它只能恒定指向一個對象,無法將其改變?yōu)榱硪粋€對象。一個既是static又是final的字段只占據(jù)一段不能改變的存儲空間。如下例:

import static java.lang.System.out; 
import java.util.Random; 
class Test{ 
  int i = 0; 
} 
public class FinalData { 
  static Random rand = new Random(); 
  private final int VALUE_1 = 9;//final定義的變量必須使用大寫字母命名 
  private static final int VALUE_2 = 10;//并且使用下劃線進行連接; 
  private final Test test = new Test(); 
  private Test test2 = new Test(); 
  private final int[] a = {1,2,3,4,5,6}; 
  private final int i4 = rand.nextInt(20); 
  private static final int i5 = rand.nextInt(20); 
  public String toString() 
  { 
    return i4 + "" + i5 + ""; 
  } 
  public static void main(String[] args) { 
    FinalData data = new FinalData(); 
    //data.test = new Test(); 
    //data.VALUE_2++; 
    data.test2 = new Test(); 
    for(int i=0; i<data.a.length; i++) 
    { 
      //a[i] = 9; 
    } 
    out.println(data); 
    out.println("data2"); 
    out.println(new FinalData()); 
    out.println(data); 
  } 
} 

一個被定義為final的對象只能指向唯一一個對象,不可以將它指向其他對象,但是一個對象本身的值確實可以改變的,那么為了使一個常量真正做到不可更改,可以將常量說明為static final. 如下例:

import static java.lang.System.out; 
import java.util.Random; 
public class FinalStaticData { 
  private static Random rand = new Random(); 
  private final int a1 = rand.nextInt(10); 
  private static final int a2 = rand.nextInt(10); 
   
  public static void main(String[] args) { 
    FinalStaticData fdata = new FinalStaticData();//實例化一個對象 
    out.println("重新實例化對象調用a1的值:" + fdata.a1); 
    out.println("重新實例化對象調用a2的值:" + fdata.a2);   
    FinalStaticData fdata2 = new FinalStaticData();// 實例化新對象 
    out.println("重新實例化對象調用a1的值:" + fdata2.a1); 
    out.println("重新實例化對象調用a2的值:" + fdata2.a2); 
  } 
} 

重新實例化對象調用a1的值:9 
重新實例化對象調用a2的值:2 
重新實例化對象調用a1的值:1 
重新實例化對象調用a2的值:2 

總結:

定義為final常量不是恒定不變的,將隨機數(shù)賦予final的變量,可以做到每次運行程序時改變a1的值,但是a2被定義為static final形式,所以內存中為a2開辟了一個恒定的區(qū)域,當再次實例化一個FianlStaticData對象時,仍然指向a2這塊內存區(qū)域,所以a2的值保持不變。

技巧:

在JAVA中定義全局常量,通常使用public static final修飾,這樣的常量只能在定義時被賦值。

相關文章

  • token工作機制及原理附Java生成token工具類

    token工作機制及原理附Java生成token工具類

    這篇文章介紹了token工作機制及原理,內附Java生成token工具類Demo。對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-12-12
  • IDEA快速顯示Run DashBoard的圖文詳解

    IDEA快速顯示Run DashBoard的圖文詳解

    這篇文章主要介紹了IDEA快速顯示Run DashBoard的圖文詳解,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • java數(shù)字圖像處理基礎使用imageio寫圖像文件示例

    java數(shù)字圖像處理基礎使用imageio寫圖像文件示例

    這篇文章主要介紹了Java 2D的圖像處理API,文章討論和提及的API都是基于JDK6的,Java中寫一個圖像文件使用ImageIO對象即可,下面看代碼吧
    2014-01-01
  • Spring Security系列教程之會話管理處理會話過期問題

    Spring Security系列教程之會話管理處理會話過期問題

    會話過期,是指當用戶登錄網(wǎng)站后,較長一段時間沒有與服務器進行交互,將會導致服務器上的用戶會話數(shù)據(jù)(即session)被銷毀。這篇文章主要介紹了Spring Security系列教程之會話管理處理會話過期問題,需要的朋友可以參考下
    2021-10-10
  • Springboot+Flowable?快速實現(xiàn)工作流的開發(fā)流程

    Springboot+Flowable?快速實現(xiàn)工作流的開發(fā)流程

    這篇文章主要介紹了Springboot+Flowable?快速實現(xiàn)工作流的開發(fā)流程,本文通過實例代碼圖文相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • Java程序圖形用戶界面設計之按鈕與布局

    Java程序圖形用戶界面設計之按鈕與布局

    圖形界面(簡稱GUI)是指采用圖形方式顯示的計算機操作用戶界面。與早期計算機使用的命令行界面相比,圖形界面對于用戶來說在視覺上更易于接受,本篇精講Java語言中關于圖形用戶界面的按鈕和布局部分
    2022-02-02
  • idea插件在線和離線安裝方法

    idea插件在線和離線安裝方法

    這篇文章主要介紹了idea插件在線和離線安裝方法,文末補充介紹了IntelliJ IDEA 安裝mybaits當前運行sql日志插件在線與離線安裝方法
    ,感興趣的朋友一起看看吧
    2023-12-12
  • Mybatis分步查詢的實現(xiàn)示例

    Mybatis分步查詢的實現(xiàn)示例

    本文主要介紹了Mybatis分步查詢的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • vue?vxe-table?實現(xiàn)財務記賬憑證的方案

    vue?vxe-table?實現(xiàn)財務記賬憑證的方案

    使用?vxe-table?實現(xiàn)財務記賬憑證非常簡單,實現(xiàn)在線實時編輯的記賬憑證、自動合計金額等,這篇文章主要介紹了vue?vxe-table?實現(xiàn)財務記賬憑證的方案,需要的朋友可以參考下
    2024-12-12
  • Struts2中接收表單數(shù)據(jù)的三種驅動方式

    Struts2中接收表單數(shù)據(jù)的三種驅動方式

    這篇文章簡單給大家介紹了Struts2中接收表單數(shù)據(jù)的三種驅動方式,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧
    2017-07-07

最新評論

牡丹江市| 岚皋县| 丹江口市| 天祝| 三亚市| 新田县| 张北县| 咸宁市| 佛山市| 柏乡县| 靖州| 运城市| 霍林郭勒市| 肥东县| 本溪| 新蔡县| 鸡东县| 阿拉尔市| 浏阳市| 高雄县| 公主岭市| 黔东| 东海县| 东城区| 桓仁| 彭州市| 兴隆县| 莎车县| 阳朔县| 那坡县| 安庆市| 芜湖市| 宾川县| 锦州市| 鸡西市| 璧山县| 南投市| 名山县| 梓潼县| 高碑店市| 清徐县|