1. 程式人生 > 實用技巧 >final和static關鍵字

final和static關鍵字

final

1. 被fina修飾的類,不能被繼承;

2. 被final修飾的方法,不能被重寫;

3. 被final修飾的變數,不能被再次賦值,意思是被final修飾的是常量。

常量:

  字面值常量:

  1. 整型常量:10,
  2. 小數常量:10.1
  3. 字元(串)常量:“abdc”
  4. 布林常量:true
  5. 空常量:null

  自定義常量:

  1. 被final修飾的就是自定義常量,這個值不能再被繼續賦值,程式每active一次,這個值就是永久固定的了。
  2. 約定俗成的規則(如何命名final常量):

      所有的字母都大寫,如果多個單詞,中間用下劃線隔開;

      例如:JAVA_HOME

      

package final_demo;
public class Demo1 {
	public static void main(String[] args) {
		int a = 10;
		System.out.println(a);
		final int b = 10;
//		b = 20; //The final local variable b 
		// cannot be assigned. It must be blank and not using a compound assignment
		System.out.println(b);
	}
}

final 修飾的資料型別:

基本資料型別:

  int, double;

  final int/ final double.

引用資料型別

  類:類以及類以內的成員變數

  陣列:ArrayList   

package final_demo;

import java.util.ArrayList;

public class Demo2 {
	public static void main(String[] args) {
		final ArrayList<String> A1_FINAL = new ArrayList<String>(); 
		A1_FINAL.add("  ");
//		A1_FINAL = null; //The final local variable A1_FINAL cannot be assigned. 
						 //It must be blank and not using a compound assignment
		final ArrayList<String> A2_FINAL = null; 
		A2_FINAL.add("  ");
		A2_FINAL = null; //The final local variable A1_FINAL cannot be assigned. 
							//It must be blank and not using a compound assignment
	      //去掉final就可以不報錯了。
  } }

    

  介面: