1. 程式人生 > >this/super/static/final/匿名對象/繼承/抽象類/訪問權限修飾符

this/super/static/final/匿名對象/繼承/抽象類/訪問權限修飾符

一個 per 屬性 同名 內容 不能被繼承 sta 調用方法 實現繼承

1.this關鍵字的作用
1)調用本類中的屬性;
2)調用本類中的構造方法;且只能放首行,且必須留一個構造方法作為出口,即不能遞歸調用
3)表示當前對象;


2.匿名對象
直接new出來的對象,不創建變量名,且只能使用一次,通常作為方法的參數及返回值使用

3.繼承
繼承是面向對象的三大特征之一,通過關鍵字:extends實現,被繼承的類稱為父類(也稱作基類/超類),實現繼承的類稱為子類(也稱作派生類)。
特點:
(1)通過繼承,子類可以直接訪問父類中非私有的屬性及方法
(2)類的繼承只允許單繼承,但是可以多層繼承;接口可以多繼承;
(3)構造方法不可繼承;
註意事項:
(1)子類對象的實例化過程是先調用父類的構造器,再調用子類的構造器;
(2)子類程序調用方法,先調用子類方法,如果子類沒有再調用父類中的方法;
(3)子類中若與父類中定義了同名變量,則不會覆蓋父類中的同名變量.或是子類中定義了同名方法則會完全覆蓋父類中的方法.

4.方法重寫(Override)
子類中定義了與父類中同樣的方法,包括函數名/返回值/參數類型等 ,只是執行主體發生改變.註意重寫方法的權限應大於等於父類權限
重寫方法拋出的異常不能大於原方法拋出的異常


5.super關鍵字
使用super關鍵字從父類中調用中構造方法/普通方法/屬性
只能放首行,所以無法與this同時出現在同一代碼塊中

6.抽象類
關鍵字abstract
在父類僅知道方法名稱,而不能涵蓋方法主體的具體內容時,可以僅定義方法名稱.具體方法實現由子類具體實現,方法名稱中需包含abstract關鍵字
格式:訪問權限 abstract 返回值 方法名();

7.static關鍵字和靜態代碼塊
1)static可用於修飾屬性:聲明為全局屬性或靜態屬性/類屬性,建議由類直接訪問(可以通過實例化對象訪問,但不建議)
2)用於修飾方法:為全局方法,可被非static方法調用.static只能調用static修飾的方法
3)修飾代碼塊,成為靜態代碼塊.靜態代碼塊先於main方法執行/先於構造代碼塊執行.且只能使用一次
靜態代碼塊--構造塊--main---構造方法


8.final關鍵字
1)final聲明的類不能被繼承
2)final聲明的方法不能被重寫
3)final聲明的變量成為常量,不可以被修改

this/super/static/final/匿名對象/繼承/抽象類/訪問權限修飾符