1. 程式人生 > >java 的重寫和final關鍵字

java 的重寫和final關鍵字

1、方法重寫:

    子類根據需求對從父類繼承來的方法進行改寫,是多型機制的前奏,重寫方法必須和被重寫的方法的方法名、引數列表、返回值相同

    重寫方法不能使用比被重寫的方法更為嚴格的訪問許可權。

     父類中的私有方法不能被重寫(子類不會繼承父類的私有方法)。

    在重寫的方法中,可以通過super.函式名來呼叫被重寫的父類方法。

2、final 關鍵字的特點:

    final可以用來修飾變數、方法、和類。

    final修飾的基本型別變數是一個常量,一旦修飾了就不能再修改,一般都和static關鍵字一起配合使用,final成員變數必須由程式設計師顯示賦初始值,系統不會對final成員進行隱式初始化。

            final修飾成員變數指定的初始化位置如下:

                類屬性的(靜態的):可在靜態初始化塊中、宣告該屬性時指定初始值

                例項屬性的:非靜態初始化塊中、宣告該屬性時、和建構函式中指定初始值

                                 

            final修飾區域性變數時,如果沒在定義時初始化,可在後面的程式碼中賦初始值,但是隻能賦一次值

            final修飾形參時,因形參體呼叫該方法時,由系統根據傳入引數來初始化,所以定義final修飾的形參不能賦值

    final修飾引用型變數時,它儲存的僅僅是一個引用地址,即一直引用這個物件,但這個物件的值可以被改變

,如下圖:

            

    final修飾的類代表此類不能被繼承。

    final修飾的方法代表此方法不能被重寫,但可以被過載。