亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Java中final如何使用

發布時間:2022-05-30 10:29:43 來源:億速云 閱讀:148 作者:iii 欄目:開發技術

這篇“Java中final如何使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Java中final如何使用”文章吧。

一、理解

final:最終的

二、作用

final 可以用來修飾的結構:類、方法、變量

1. 修飾-類

final 用來修飾一個類,表示此類不能被其它類所繼承,提高安全性,提高程序的可讀性。

比如:String類、System類、StringBuffer類…

代碼演示:

final class A{
}
class B extends A{ //錯誤,不能被繼承。
}

2. 修飾-方法

final 用來修飾方法:表明此方法不能被子類重寫。

比如:Object類中getClass();

代碼演示:

class A {
   public final void print() {
     System.out.println("A");
   } 
}
class B extends A {
    public void print() { 
    // 錯誤,不能被重寫。
    } 
}

3. 修飾-變量

final 修飾的變量(成員變量或局部變量)稱為常量。名稱大寫,且只能被賦值一次。

static final 用來修飾屬性:全局常量。

代碼演示:

class A {
   private final String INFO = "嘻嘻"; //聲明常量
     public void print() {     
     //INFO = "哈哈";
     //The final field A.INFO cannot be assigned
     } 
}
3.1 修飾-成員變量(屬性)

final 標記的成員變量必須在聲明(顯式初始化)時或在 每個構造器中或代碼塊中顯式賦值,然后才能使用。

如:final double MY_PI = 3.14;

3.2 修飾-局部變量

使用 final 修飾局部變量時,表明此形參是一個常量。當我們調用此方法時,給常量形參賦一個實參。一旦賦值以后,就只能在方法體內使用此形參,且不能進行重新賦值。

三、經典題目

//題目一:
public class Test1 {    
        public int addOne(final int x) {
         //   return ++x;
         //Cannot assign a value to final variable 'x'
            return x + 1;
        }
}
//題目二:
public class Something {
    public static void main(String[] args) {
       Other o = new Other();
       new Something().addOne(o);
    }
    public void addOne(final Other o) {
       // o = new Other();
       o.i++;
     } 
}
class Other {
   public int i; 
}
//題目三:
class Root{
	static{
		System.out.println("Root的靜態初始化塊");
	}
	{
		System.out.println("Root的普通初始化塊");
	}
	public Root(){
		super();
		System.out.println("Root的無參數的構造器");
	}
}
class Mid extends Root{
	static{
		System.out.println("Mid的靜態初始化塊");
	}
	{
		System.out.println("Mid的普通初始化塊");
	}
	public Mid(){
		super();
		System.out.println("Mid的無參數的構造器");
	}
	public Mid(String msg){
		//通過this調用同一類中重載的構造器
		this();
		System.out.println("Mid的帶參數構造器,其參數值:"
			+ msg);
	}
}
class Leaf extends Mid{
	static{
		System.out.println("Leaf的靜態初始化塊");
	}
	{
		System.out.println("Leaf的普通初始化塊");
	}	
	public Leaf(){
		//通過super調用父類中有一個字符串參數的構造器
		super("小老師ir");
		System.out.println("Leaf的構造器");
	}
}
public class LeafTest{
	public static void main(String[] args){
		new Leaf(); 
		System.out.println();
		new Leaf();
	}
}
/*output:
Root的靜態初始化塊
Mid的靜態初始化塊
Leaf的靜態初始化塊
Root的普通初始化塊
Root的無參數的構造器
Mid的普通初始化塊
Mid的無參數的構造器
Mid的帶參數構造器,其參數值:小老師ir
Leaf的普通初始化塊
Leaf的構造器
Root的普通初始化塊
Root的無參數的構造器
Mid的普通初始化塊
Mid的無參數的構造器
Mid的帶參數構造器,其參數值:小老師ir
Leaf的普通初始化塊
Leaf的構造器
*/

以上就是關于“Java中final如何使用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

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

AI

清新县| 当阳市| 聂拉木县| 宜阳县| 婺源县| 大同县| 越西县| 鹤岗市| 兴业县| 大荔县| 伊金霍洛旗| 西和县| 安新县| 杨浦区| 桐柏县| 监利县| 泸州市| 灵寿县| 南平市| 许昌市| 微山县| 长汀县| 游戏| 西青区| 永嘉县| 东乌珠穆沁旗| 禹州市| 太原市| 巫山县| 高淳县| 边坝县| 大庆市| 富民县| 涞源县| 孝昌县| 镇原县| 太仆寺旗| 遂宁市| 白水县| 嵊泗县| 从化市|