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

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java中final變量使用總結

Java中final變量使用總結

2019-12-21 15:01junjie JAVA教程

這篇文章主要介紹了Java中final變量使用總結,final關鍵字可用于變量聲明,一旦該變量被設定,就不可以再改變該變量的值,通常final定義的變量為常量,需要的朋友可以參考下

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

復制代碼 代碼如下:

final double PI = 3.14; 

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

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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. 如下例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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常量不是恒定不變的,將隨機數賦予final的變量,可以做到每次運行程序時改變a1的值,但是a2被定義為static final形式,所以內存中為a2開辟了一個恒定的區域,當再次實例化一個FianlStaticData對象時,仍然指向a2這塊內存區域,所以a2的值保持不變。

技巧:

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本不卡一区二区三区在线观看 | 色精品 | 亚洲精品久久久久久一区二区 | 99热在线播放 | 欧美激情专区 | 国产欧美综合一区二区三区 | 日韩综合网 | 精品第一页 | 日本特黄特色aaa大片免费 | 青青草免费在线视频 | 日韩在线视频资源 | 亚洲激情av | 黄色成人在线 | 日韩在线 | 国产a视频 | 国产成人精品一区二区三区四区 | 欧美视频精品 | 久久99精品久久久久久久 | 日韩一级片 | 一级a性色生活片久久毛片 国产精品久久久久久久久久免费看 | 国产一区二区三区 | 亚洲欧美日韩另类一区二区 | 99在线观看| 精品在线一区二区 | 国产激情网 | 久久久久久久久久久免费视频 | 中文字幕一区二区三区四区五区 | 久草视频网站 | 国精品一区二区三区 | 国产一区二区日韩 | 国产精品福利电影网 | 一区二区日韩 | 国产精品综合 | 亚洲日本欧美日韩高观看 | 动漫卡通精品一区二区三区介绍 | 国产精品久久久久久久久小说 | 欧美在线观看黄 | 国产精品欧美大片 | 精久久 | 免费观看一级特黄欧美大片 | 日日夜夜视频 |