Java的final關鍵字

Java的final關鍵字

>引言
>
>Java中的final 與C++中的const 差不多,其代表修飾的變量不可改變。不過final 可以修飾類

final修飾有下面幾種:

  • 修飾局部變量
  • 修飾非局部變量
  • 修飾函數
  • 修飾類

1.修飾局部變量

​ final修飾的局部變量是常量,只能賦值一次。

public class Kit {
	public static void main(String[] arg) {
		final int a;
		a=10;//不能再修改了
		//a=100;//這裏報錯,初始化後的值不能被修改
        final int b=100;//不能再修改了
	}
}

2.修飾非局部變量

​ 用final定義成員變量的必須對它進行初始化(也可以在構造函數中初始化),之後該變量的值不能被改變。

這是一個錯誤的示範:

package test;
class A {
	int a;
	public final int PI;
	A(){};//errors:The blank final field PI may not have been initialized
	public String toString() {
		return "This class A of toString function";
	}
}

3.修飾方法

​ 用final修飾的方法不能被子類重寫。

>這裏與c++稍有不同,c++中用const修飾成員函數不能修改該對象成員的值。

4.修飾類

​ 用final修飾的類被稱爲最終類,該類不能被繼承。比如String類

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章