方法的重寫

1.什麼是方法的重寫

                     子類中出現與父類一模一樣的方法時,會出現覆蓋操作,被稱作複寫或重寫;      

2.方法重載和方法重寫區別(面試題)

            方法重寫Override:

                繼承中子類中出現與父類方法聲明完全相同的情況;

                (返回值、方法名、參數都一模一樣)

            方法重載Overload:

                在同一類中,方法名相同,參數列表不同;

3.方法重寫注意事項

            A.父類中的私有方法不可以被重寫(覆蓋);

            B.覆蓋時,子類方法訪問權限一定要大於等於父類的方法訪問權限;

            C.靜態方法只能被靜態方法重寫;

            D.覆蓋應用:

                當子類需要父類的功能,而功能主體子類有自己特有內容時候可以複寫父類中的方法,

                這樣既沿襲了父類的功能,又定義了子類特有的內容;

            E.@Override //註解,測試當前方法是否重寫

4.構造方法之間的關係

A. 子類中所有構造方法默認都會訪問調用父類中無參構造方法,原因是子類中的   

構造方法中都有一行默認語句:super();

B. 因爲子類會自動具備父類中的非私有數據,這些數據的初始化要靠父類完成,   

                所以會去先調用父類的構造方法對數據進行初始化;

C.  當父類中沒有無參構造方法(注意事項):

                1.子類中可以使用super(參數);去訪問調用父類中的帶參方法;

                2.可以通過this(參數…)去反問本類中的構造方法(不推介使用);

一、繼承過程中的代碼塊

        1.如果一個類中有靜態代碼塊,構造代碼塊,構造方法;靜態代碼塊只執行一次。

            執行順序:靜態代碼塊→構造代碼塊→構造方法

                                     父類的靜態代碼塊→ 子類的靜態代碼塊→父類的構造代碼塊→

                                     →父類的構造方法→子類的構造代碼塊→子類的構造方法

二、子類使用父類的私有

              如果成員變量被私有了,在子類中怎麼使用?

              A.子類通過父類的set方法給父類成員變量賦值;

              B.用子類的有參構造調用父類的有參構造傳值給父類私有屬性;

 

三、Final關鍵字

              ※ final可以修飾類、成員變量、成員方法;

               Final修飾的方法是不可以被重寫的;

               final修飾的類不能被繼承;

               final修飾的變量,其實是一個常量;

 

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