1. 程式人生 > >final與4個修飾成員的關鍵字

final與4個修飾成員的關鍵字

dem 代碼 array 重新 out 變量 prot print efault

* final: 最終的,最後的, 關鍵字, 用來修飾類,成員變量, 成員方法, 局部變量;
* 修飾之後的內容特點如下:
* 修飾類:
* 被final修飾的類,可以有父類,但是沒有子類(太監類)
* 格式: public final class 類名{...}
*
* 修飾成員變量:
* 被final修飾的成員變量,是一個常量,需要在定義的時候賦值,或者是構造代碼塊,或者構造方法中賦值.
* 格式: final 數據類型 變量名 = 賦值; (只能賦值一次)
*
* 修飾成員方法:
* 被final修飾的成員方法,不能被重寫;
* 格式: public final void method(參數){...}
*
* 修飾局部變量:


* 1. 基本數據類型: 表示裏面的值不能被改變了(只能賦值一次)
* final 數據類型 變量名 = 賦值;
* 2. 引用數據類型: 表示地址值不能重新指向, 但是內容可以改變;

public class Demo01Final {

public static void main(String[] args) {

//1. 基本數據類型: 表示裏面的值不能被改變了(只能賦值一次)
final int a = 10;
//a = 20;// 錯誤;

final int b;
b = 20;
//b = 30;// 錯誤!	

//2. 引用數據類型: 表示地址值不能重新指向, 但是內容可以改變;
final int[]array = {1,2,3,4};
//array = new int[4]; // 錯誤!
array[1] = 100;

final String str = new String("hello");
//str += "world"; // 錯誤

final Person p = new Person();
//p = new Person();// 錯誤!
p.name = "張三";

System.out.println(MyInterface.NUM);// 10
//MyInterface.NUM = 100;// 錯誤!
}
}

  


* 在java中修飾成員的關鍵字有四個,他們修飾之後的可見範圍如下:
* 大小關系: public > protected > default > private
*

 public	protected	default(默認不寫)	private
* 同包,同類	YES	YES	YES	YES
* 同包,不同類	YES	YES	YES	NO
* 不同包,子類	YES	YES	NO	NO
* 不同包,非子類	YES	NO	NO	NO

  


*
* 註意點
* 經常使用的兩個權限修飾符, public最大權限, private最小權限.

final與4個修飾成員的關鍵字