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

java中final修飾符實例分析

 更新時間:2014年11月24日 10:51:54   投稿:hebedich  
本文通過實例向我們展示了java中final修飾符的概念,final修飾的基本變量和引用類型變量的區(qū)別。有需要的小伙伴可以參考下

final修飾符:

final修飾成員變量必須有程序員顯示指定初始值。
類的Field:必須在靜態(tài)初始化塊中或聲明該Field時指定初始值。
實例Field:必須在非靜態(tài)初始塊中,聲明Field或者構(gòu)造器中指定初始值。

final局部變量:必須由程序員顯示初始化。

final修飾的基本變量和引用類型變量的區(qū)別?

final修飾的基本變量:不能對基本變量重新賦值。
final修飾的引用變量:只保證這個引用類型所引用的地址不會變,即
一直引用同一個對象,但這個對象完全可以發(fā)生改變。

復(fù)制代碼 代碼如下:

/**
  
*/
import java.util.*;
public class Demo5
{
 public static void main(String[] args)
 {
  final B b = new B(22);
  b.test();
  //合法  改變值,但仍是指向同一個引用
  b.setAge(20);
  System.out.println(b.getAge());
  // 非法
  // b = null;
  b.test2();
 }
}
 /**
 fianl修飾成員變量
*/
class A
{
 //合法
 final int a = 10;
 //構(gòu)造器或初始化化塊中指定初始值
 final String str;
 final int c;
 final static double d;
 {
  str = "hello";
  //非法
  // a = 100;
 }
 static
 {
  d = 100;
 }
 
 // 構(gòu)造器可對沒在初始化塊中指定的Field指定初始值
 public A()
 {
  // 非法
  // str = "ddd";
  c = 1000;
 }
 public double changFinal()
 {
  // 不能再普通方法中為final指定初始值
  // return d = 1000.90;
  return 0;
 }
}
 /**
 fianl修飾數(shù)組 對象
*/
class B
{
 private int age;
 public B()
 {
 
 }
 
 public B(int age)
 {
  this.age = age;
 }
 
 public void setAge(int age)
 {
  this.age = age;
 }
 
 public int getAge()
 {
  return this.age;
 }
 
 public void test()
 {
  final int[] arr={23,434,56,898};
  System.out.println(Arrays.toString(arr));
  Arrays.sort(arr);
  System.out.println(Arrays.toString(arr));
  arr[2] = 200;
  System.out.println(Arrays.toString(arr));
  //下面對Arr重新賦值 非法
  // arr = null;
 }
 
 /**
  加深對final的理解
 */
 public void test2()
 {
  String str1 = "美好未來";
  //直接引用常量池中的"美好未來"
  String str2 = "美好"+"未來";
  //true
  System.out.println(str1 == str2);
  
  String s1 = "美好";
  String s2 = "未來";
  String s3 = s1+s2;
  //false  s1 s2只是變量 在編譯時期不能確定
  //若想在編譯時期確定 則用 final修飾 s1 s2
  System.out.println(str1 == s3);
 }
}

小伙伴們是否對java中final修飾符有所了解了呢,相信注釋中已經(jīng)給大家解釋的很清楚了,我這里就不再啰嗦

相關(guān)文章

  • JAVA中的隊列(Queue)詳解

    JAVA中的隊列(Queue)詳解

    這篇文章主要介紹了JAVA中的隊列(Queue)詳解,隊列是一種特殊的線性表,遵循先入先出、后入后出的基本原則,一般來說,它只允許在表的前端進(jìn)行刪除操作,需要的朋友可以參考下
    2023-07-07
  • java實現(xiàn)快速排序算法

    java實現(xiàn)快速排序算法

    快速排序算法是基于分治策略的另一個排序算法。其基本思想是:對輸入的子數(shù)組a[p:r],按以下三個步驟進(jìn)行排序。 1) 分解(Divide)(2) 遞歸求解(Conquer) (3) 合并(Merge)
    2015-04-04
  • springboot+idea熱啟動設(shè)置方法(自動加載)

    springboot+idea熱啟動設(shè)置方法(自動加載)

    這篇文章主要介紹了springboot+idea熱啟動設(shè)置方法(自動加載),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • SpringBoot整合Minio的示例代碼

    SpringBoot整合Minio的示例代碼

    這篇文章主要介紹了SpringBoot整合Minio的示例代碼,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • SpringBoot的ResponseEntity類返回給前端具體講解

    SpringBoot的ResponseEntity類返回給前端具體講解

    這篇文章主要給大家介紹了關(guān)于SpringBoot的ResponseEntity類返回給前端的相關(guān)資料,ResponseEntity是Spring框架中用于封裝HTTP響應(yīng)的類,可以自定義狀態(tài)碼、響應(yīng)頭和響應(yīng)體,常用于控制器方法中返回特定數(shù)據(jù)的HTTP響應(yīng),需要的朋友可以參考下
    2024-11-11
  • 淺談Java父子類加載順序

    淺談Java父子類加載順序

    本文主要介紹了Java父子類加載順序,那么這么長怎么記呀?本文就幫大家總結(jié)一下,更有利于記憶,感興趣的可以了解一下
    2021-08-08
  • springboot application無法使用$獲取pom變量的問題及解決

    springboot application無法使用$獲取pom變量的問題及解決

    這篇文章主要介紹了springboot application無法使用$獲取pom變量的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • SpringBoot中獲取profile的方法詳解

    SpringBoot中獲取profile的方法詳解

    這篇文章主要介紹了springboot獲取profile的操作,文中的示例代碼講解詳細(xì),具有很好的參考價值,希望對大家有所幫助
    2022-04-04
  • java實現(xiàn)HttpClient異步請求資源的方法

    java實現(xiàn)HttpClient異步請求資源的方法

    這篇文章主要介紹了java實現(xiàn)HttpClient異步請求資源的方法,實例分析了java基于http協(xié)議實現(xiàn)異步請求的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • Spring Boot集成Shiro實現(xiàn)動態(tài)加載權(quán)限的完整步驟

    Spring Boot集成Shiro實現(xiàn)動態(tài)加載權(quán)限的完整步驟

    這篇文章主要給大家介紹了關(guān)于Spring Boot集成Shiro實現(xiàn)動態(tài)加載權(quán)限的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09

最新評論

西乌珠穆沁旗| 吴江市| 共和县| 昂仁县| 龙海市| 许昌市| 论坛| 裕民县| 襄汾县| 鄢陵县| 咸阳市| 杭锦旗| 绍兴县| 娄底市| 衡阳县| 五家渠市| 娄烦县| 黑龙江省| 沅陵县| 莱阳市| 林芝县| 仁化县| 唐河县| 平原县| 当雄县| 上林县| 湘乡市| 盐山县| 左云县| 武隆县| 遂昌县| 大同市| 蕲春县| 乌拉特中旗| 赤峰市| 丹巴县| 尚义县| 驻马店市| 遂溪县| 广平县| 桐柏县|