java——關鍵字以及修飾屬性
1. java中的修飾屬性(public,private,protect,default)
public:java中訪問限制最寬的修飾符。被其修飾的類,屬性以及方法不僅可以跨類訪問,而且可以跨包(package)訪問
private:權限限制最窄的修飾符。被其修飾的類,屬性以及方法只能被該類的對象訪問,子類不能訪問,更不能跨包訪問
protect:介於public和private之間。被其修飾的類,屬性以及方法只能被類本身的方法以及子類訪問,即使子類在不同的包中也可以訪問
default:默認訪問修飾符,只能在一個包中進行訪問
2. java中的關鍵字static
(1) static 修飾靜態變量或者全局變量(編譯時就開辟了空間,且只有一個,可用來做全局變量,可通過類名訪問),其他的變量都叫做實例變量。
(2) static 修飾方法,表示整個類的方法,不需要創建對象來調用,可以通過類名來調用,例如Collections和Arrays(數組的操作)整個都是static修飾的方法。不是static修飾的方法必須先new一個對象,才能調用。另外,static方法中只能調用static方法。 public static void main(String[] args),main必須用static修飾。
(3) static 靜態代碼塊,類中獨立於成員變量和成員函數。用來初始化全局的變量,且只會比執行一次。
(4) 靜態內部類:只能訪問外部類的靜態成員變量和靜態方法。
3. java中的關鍵字final(終極修飾符)
(1) 修飾基本的數據類型,可以認為這些數據是常量,值是不可以再改變的
(2) 修飾其他類的對象,該數據和其指向的對象之間的綁定關系是不可更改的,而對象內部的屬性是可以被更改的
(3) 被final修飾的方法是不可以被子類覆蓋的,但final修飾的方法可以被子類重載(不可覆蓋,可被重載),可以被繼承
(4) final修飾的類不能被繼承,且其中的方法也一定是final方法(默認),不會再有子類
(5) 常用作 static final,因為final指定的屬性要麽取值不可更改,要麽綁定關系不可更改,所以加上final可以節省內存
(6) final不能修飾構造方法,因為子類默認使用父類的構造方法
Java是從C++發展而來的,C++中,一個類可以同時繼承多個父類,但在java中,類只能單繼承
4. java中的關鍵字finally
finally修飾的代碼塊一定會執行,在try和catch模塊中return之前需要先執行finally。
try{} catch(){} catch(){} catch(){} finally{} 多個catch來進行捕獲,finally中寫入最終要執行的語句,無論異常是否發生,都會執行finally中的語句
5. java中的多態
編譯時多態,編譯時就確定了對具體方法體的調用,比如函數的重載(參數不同) 運行時多態,運行時才確定對具體方法的調用,繼承中方法的覆蓋(子類的方法覆蓋掉父類的方法)java.lang.Object類:所有類的父類,java中所有的類都是繼承於Object類 public boolean equals(Object obj): 判斷兩個對象一樣,返回true,只有兩個對象指向同一個對象時,才會返回true public String toString(): 各個類可以根據自己的需求來覆蓋該類實現字符串的輸出 屬性的隱藏:子類中出現和父類同名屬性的現象,這個時候調用子類函數處理子類的屬性,調用父類函數處理父類的屬性 方法的覆蓋:子類中定義了和父類中具有相同方法頭方法的現象 在繼承中,先調用父類的構造方法,然後調用子類的構造方法 super關鍵字:可以直接調用父類中被隱藏的屬性和方法 super(實參): 調用父類的構造方法 super.父類屬性: 調用父類的屬性(非隱藏屬性可以直接使用,不需要super) this 和 super不能再static修飾的方法內使用 對象 instanceof 類名:判斷對象是不是某個類的實例
java——關鍵字以及修飾屬性