關於final:
final:最終的 --> 可以類比成閹割手術,被final修飾沒有後續
可以修飾:類,成員變量,成員方法;
修飾類:最終的類,不能有子類
修飾成員變量:變成常量
自定義常量的格式:
public static final 數據類型 常量名 = 初始化值;
修飾成員方法:子類不能重寫
關於static:
static:靜態的
可以修飾:成員變量,成員方法
被 static 修飾的成員具備以下特點:
1.隨着類的加載而加載優先於對象
2.被所有的對象所共享
3.可以使用類名直接調用
非靜態成員方法 靜態成員方法
靜態成員變量 可以 可以
靜態成員方法 可以 可以
非靜態成員變量 可以 不可以
非靜態成員方法 可以 不可以
靜態雖好,但是隻能訪問靜態的成員;
若要在靜態方法內使用非靜態的成員,必須提前創建好對象,使用對象調方法(屬性);比如main()方法
靜態在工具類中使用廣泛:
工具類編寫的步驟:
1.創建一個類 類名 XxxxUtils
2.私有無參構造方法並不提供任何其他的構造方法
3.把所有的成員方法使用 public static 修飾
所有的成員變量 使用自定義常量表示; public static final 去修飾
static 不能和哪些關鍵字公用:
1. this : this 代表的本類對象的引用,要有對象纔會有this,而 static 修飾的方法是隨着類的加載而加載優先於對象;
2. abstract : static 修飾的成員方法可以使用類名調用,而 abstract 修飾的方法沒有方法體 不能被直接調用;