91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java final本質詳解

發布時間:2020-10-09 14:25:03 來源:腳本之家 閱讀:142 作者:(*-*)浩 欄目:編程語言

含義:final 含義是【僅可以被賦值一次】。

賦值位置:在【聲明時賦值】、在【構造方法中賦值】

舉例:

package com.dada.data;

 

public class TestFinal {

  // 1.聲明時賦值

  private final int i = 0;

  private final int j;

  public TestF() {

    // 2.構造方法中賦值

    j = 10;

  }

}

注意:我們說 final 是僅可以賦值一次沒錯,但是我們知道在 java 中【值有兩種】,【基本數據類型的值】和【引用數據類型的值】,對于基本數據類型來說,賦值就是直接把【值賦給變量】,對于引用數據類型來說就是把【引用賦給變量】。

因此:僅可以賦值一次的含義也就分為兩種情況了,1.如果是基本數據類型,那么就是值本身不能變;2.如果是引用數據類型的值,那就是引用不能變,但是被引用的內容是可以變的。

舉例:

定義 Student 類:

package com.dada.data;

 

public class Student {

  private int id;

  private String name;

  private int score;

  public Student(int id, String name, int score) {

    this.id = id;

    this.name = name;

    this.score = score;

  }

  public int getId() {

    return id;

  }

  public void setId(int id) {

    this.id = id;

  }

  public String getName() {

    return name;

  }

  public void setName(String name) {

    this.name = name;

  }

   

  public int getScore() {

    return score;

  }

  public void setScore(int score) {

    this.score = score;

  }

   

  @Override

  public String toString() {

    return "id: " + id + "\t name:" + name + "\tscore:" + score;

  }

}

定義測試類:

package com.dada.data;

 

public class TestFinal {

  private final Student ss;

   

  public static void main(String[] args) {

    TestFinal tf = new TestFinal();

  }

  public TestFinal() {

    Student student = new Student(1, "dada", 3);

    // 第一次賦值

    ss = student;

    System.out.println(ss.toString());

     

    // 修改引用所對應的對象的內容

    student.setId(2);

    student.setName("hehe");

    student.setScore(10);

    System.out.println(ss.toString());

  }

}

輸出結果:

id: 1   name:dada  score:3

id: 2   name:hehe  score:10

總結:

由上面的例子可以知道,變量被 final 修飾之后其引用的內容還是可以被修改的,之所以很多時候我們感覺它不能被修改是因為:

1.通常我們是在定義變量時進行的賦值,這個時候對于基本類型數據來說它是永遠不能改變的。

2.對于引用類型數據來說,因為我們無法獲取對應的引用,所以也會覺得引用類型數據也是不能被修改的。

以上就是java final本質解釋的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

应城市| 双辽市| 灵台县| 丹阳市| 榆树市| 海门市| 大名县| 青川县| 华亭县| 太康县| 玉田县| 名山县| 太仆寺旗| 万源市| 阳新县| 广西| 扬中市| 洞口县| 阿瓦提县| 顺昌县| 郸城县| 香港| 黄石市| 宁南县| 台湾省| 合作市| 阿巴嘎旗| 法库县| 天镇县| 乌拉特后旗| 嘉黎县| 海城市| 剑川县| 朔州市| 武定县| 连山| 织金县| 铁岭县| 德阳市| 辽阳县| 新民市|