1. 程式人生 > >Java基礎-----final關鍵字

Java基礎-----final關鍵字

final概述

final可以修飾類,方法和變數。

特點

(1)final可以修飾類,該類不能被繼承。
(2)final可以修飾方法,該方法不能被重寫。
(3)final可以修飾變數,該變數不能被重新賦值。因為這個變數為常量。

final修飾區域性變數的問題

基本資料型別:基本資料型別的值不能發生改變。
引用資料型別:引用資料型別的地址值不能發生改變,但是,該物件的堆記憶體的值是可以改變的。

package duixiang;


class StudentTest {
	int age = 10;
}

public class FinalTest {
	public static void main(String[] args) {
		//區域性變數是基本資料型別
		int x = 100;
		x = 1000;
		System.out.println(x);
		final int y = 10;
		//無法為最終變數y分配值
		//y=100;
		System.out.println(y);
		System.out.println("-----------------");
		//區域性變數是引用資料型別
		StudentTest s = new StudentTest();
		s.age = 100;
		System.out.println(s.age);
		
		final StudentTest s1 = new StudentTest();
		s1.age = 300;
		System.out.println(s1.age);
		
	}
}

執行結果如下:
在這裡插入圖片描述

final修飾變數的初始化時機

(1)被final修飾的變數只能賦值一次。
(2)再構造方法完畢前。(非靜態的常量)