Java知識點總結(8)

來源:互聯網
上載者:User

標籤:中繼   初始化   final   重新定義   ext   聯絡   沒有   style   改變   

final

final可以用來修飾變數(包括類屬性、對象屬性、局部變數和形參)、方法(包括類方法和對象方法)和類。

修飾類:

  不能被定義為抽象類別或是介面,用final修飾的類不能被繼承,即不能擁有自己的子類。

修飾方法:

  此方法不能被重寫(可以重載多個final修飾的方法)。

  此處需要注意的一點是:因為重寫的前提是子類可以從父類中繼承此方法,如果父類中final修飾的方法同時存取控制許可權為private,

  將會導致子類中不能直接繼承到此方法,因此,此時可以在子類中定義相同的方法名和參數,此時不再產生重寫與final的矛盾,而是在子類中重新定義了新的方法。

修飾變數:

  final修飾的變數值不可被改變,當final修飾屬性時,基礎資料型別 (Elementary Data Type)的屬性將成為常量,不能被修改。修飾的類屬性和變數屬性都要進行顯示初始化賦值。

  屬性:定義就必須直接賦值或者在構造方法中進行賦值,並且後期都不能修改。

  在聲明時同時賦值,往往與static一起使用

  聲明時不賦值,必須在構造方法中逐一賦值

  總的原則:保證建立每一個對象的時候,final屬性的值是確定的

final關鍵字不同於finally關鍵字,後者用於異常處理。

 

 

繼承

  繼承就是子類繼承父類的特徵和行為,使得子類對象(執行個體)具有父類的執行個體域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為。

繼承的特性

  子類擁有父類非private的屬性,方法。

  子類可以擁有自己的屬性和方法,即子類可以對父類進行擴充。

  子類可以用自己的方式實現父類的方法。

    Java的繼承是單繼承,但是可以多重繼承,單繼承就是一個子類只能繼承一個父類,多重繼承就是,例如A類繼承B類,B類繼承C類,所以按照關係就是C類是B類的父類,B類是A類的父類,這是java繼承區別於C++繼承的一個特性。

  提高了類之間的耦合性(繼承的缺點,耦合度高就會造成代碼之間的聯絡)。

繼承關鍵字

  extends關鍵字:在 Java 中,類的繼承是單一繼承,也就是說,一個子類只能擁有一個父類,所以 extends 只能繼承一個類。

  super關鍵字:我們可以通過super關鍵字來實現對父類成員的訪問,用來引用當前對象的父類。

  this關鍵字:指向自己的引用。  final 關鍵字:聲明類可以把類定義為不能繼承的,即最終類;或者用於修飾方法,該方法不能被子類重寫

構造器

  子類不能繼承父類的構造器(構造方法或者建構函式),但是父類的構造器帶有參數的,則必須在子類的構造器中顯式地通過super關鍵字調用父類的構造器並配以適當的參數列表。

  如果父類有無參構造器,則在子類的構造器中用super調用父類構造器不是必須的,如果沒有使用super關鍵字,系統會自動調用父類的無參構造器。

Java知識點總結(8)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.