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

溫馨提示×

溫馨提示×

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

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

java final本質是什么

發布時間:2020-11-06 14:15:34 來源:億速云 閱讀:200 作者:小新 欄目:編程語言

這篇文章主要介紹java final本質是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

含義: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

化德县| 沅江市| 宝兴县| 长海县| 封丘县| 太仓市| 维西| 东乡族自治县| 荥阳市| 应用必备| 玉林市| 婺源县| 城固县| 永吉县| 遂川县| 徐水县| 昭觉县| 右玉县| 德钦县| 武宁县| 麻城市| 南康市| 深水埗区| 蓬溪县| 丘北县| 那坡县| 溆浦县| 宁明县| 莱阳市| 托克托县| 顺义区| 临夏县| 西峡县| 阿合奇县| 万山特区| 济源市| 沾益县| 焦作市| 建湖县| 蓝田县| 卢龙县|