final與4個修飾成員的關鍵字
阿新 • • 發佈:2017-12-28
dem 代碼 array 重新 out 變量 prot print efault
* 1. 基本數據類型: 表示裏面的值不能被改變了(只能賦值一次)
* final 數據類型 變量名 = 賦值;
* 2. 引用數據類型: 表示地址值不能重新指向, 但是內容可以改變;
* 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個修飾成員的關鍵字