【Java】零碎點 1

  1. java 中雖然是單繼承,但是繼承具有傳遞性。
    比如:A派生出B,B派生出C,那下面這三行都可以編譯運行:
A a0 = new A();
A a1 = new B();
A a2 = new C();
  1. System.out.println() 中,System是java.lang包下的一個類,out爲該類下的final靜態成員(PrintStream)類型,println()是PrintStream類的實例方法。

  2. java中方法的重寫的兩同兩小一大原則
    方法名相同 &參數類型相同
    子類方法返回類型 \leq 父類方法返回類型 & 子類方法拋出異常 \leq父類方法拋出異常
    子類訪問權限 \geq 父類方法訪問權限

  3. 編譯將.java文件編譯成字節碼文件,在執行是,會將字節碼文件解釋爲機器語言

  4. 訪問權限從大到小 :public > protected > 包訪問權限(默認權限) > private

  5. 多態
    使用父類類型的引用指向子類的對象
    該引用只能調用父類中定義的方法和變量
    如果子類中重寫了父類的一個方法,那麼在調用這個方法的時候,將會調用子類的方法(動態連接,動態調用)
    變量不能被重寫/覆蓋,重寫的概念只針對方法,如果在子類中重寫了父類中的變量那麼編譯時會報錯
    多態的三個必要條件:繼承 & 重寫 & 父類引用指向子類的對象
    多態的綁定機制
    實例方法和引用變量所引用的對象的方法綁定;
    靜態方法與引用變量所聲明的方法綁定;
    成員變量(實例變量,靜態變量)與引用對象所聲明的類型的成員變量綁定。

  6. Java類方法和實例方法
    類方法是用static修飾的方法。
    類方法屬於整個類,所以類方法的方法體中不能有與類的對象有關的內容(不能引用對象變量 & 不能調用類的對象方法(實例方法) & 不能使用super,this關鍵字 & 不能被覆蓋)。

System.out.println("1" + 2 + 3);    // 123
System.out.println(1 + "2" + 3);    // 123
System.out.println(1 + 2 + "3");    // 33

從左到右執行運算

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章