final:不可改變。可以用於修飾類、方法和變數。
final運用方面:
1、修飾變數
基本型別的區域性變數,被final修飾後,只能賦值一次,不能再更改。
2、區域性變數–引用型別
引用型別的區域性變數,被final修飾後,只能指向乙個物件,位址不能再更改。但是不影響物件內部的成員變數值的修改。
3、成員變數
成員變數涉及到初始化的問題,初始化方式有兩種,只能二選一:
顯示初始化;
public class user
構造方法初始化;
public class user
}注意:被final修飾的常量名稱,一般都有書寫規範,所有字母都大寫。
final修飾類的時候該類不能被繼承。final修飾方法的時候該方法不能被重寫
許可權大小
public>protected>default>private
public
protected
default(空的)
private
同一類中√√
√√同一包中(子類和無關類)√√
√不同包的子類√√
不同包中的無關類
√注意:不加修飾符其訪問能力與default修飾符相同
內部類:將乙個類a定義在另乙個類b裡面,裡面的那個類a就稱為內部類,b則稱為外部類。
成員內部類:定義在類中方法外的類。
格式**:
person p = new person(); // 建立外部類物件
heart heart = p.new heart(); // 建立內部類物件
匿名內部類:
**格式:
new 父類名或者介面名()
};
1.class作為成員變數
類作為成員變數時,對它進行賦值的操作,實際上,是賦給它該類的乙個物件。
2.inte***ce作為成員變數
我們使用乙個介面,作為成員變數,以便隨時更換技能,這樣的設計更為靈活,增強了程式的擴充套件性。
介面作為成員變數時,對它進行賦值的操作,實際上,是賦給它該介面的乙個子類物件。
3.inte***ce作為方法引數和返回值型別
介面作為引數時,傳遞它的子類物件。
介面作為返回值型別時,返回它的子類物件。
final 許可權 內部類
代表最終不可變的。用法 1 用來修飾乙個類 不能有子類,所以其中所有的方法都不嗯呢該被覆蓋重寫。2 用來修飾乙個方法 方法不能被覆蓋重寫。3 用來修飾乙個區域性變數 variable 一次賦值,終生不變。4 用來修飾乙個成員變數 一次賦值,終生不變。沒有預設值需要手動賦值。final修飾的類又叫 太...
11 final 許可權 內部類
final類不能有子類,但可以有父類 final類不能有abstract方法 修飾方法時,final和abstract不能同時出現 fina修飾變數時 內部類分為 成員內部類 區域性內部類。包含內部類的類在被編譯時會生成兩個位元組碼檔案 外部類名 內部類名.calss 和 外部類名.calss 內部...
Day16 final 許可權 內部類
許可權修飾符 編寫 時,如果沒有特殊的考慮,建議這樣使用許可權 內部類 內用外,隨意訪問 外用內,需要內部類物件。成員內部類 定義在類中方法外的類。區域性內部類 定義在類中的方法內。匿名內部類 實現類或子類只需使用一次,就可以使用 匿名內部類 內部類public class innerclass c...