關於java面向對象編程

JAVA語言面向對象程序設計包括計算機編程語言、Java語言的基礎知識、面向對象程序設計原理和Java語言實現、Java特殊關鍵字的使用、異常處理、管理與I/O流、圖形用戶界面開發、多線程編程技術、小應用程序和多媒體技術、JAVA網絡編程、數據結構和集合框架、Java中的數據庫編程等內容,

關於java面向對象編程

  1:允許將子類的引用付給父類的對象,但子類中的那些不是從父類繼承來的成員將不再可見。

例:Bus bus=new Bus();

Car car=bus;但是car實例不可以引用bus中的非繼承域,如p載人數。

  2:this和super

this引用當前類的'變量或方法,super引用當前對象的直接父類的變量或方法

  3:多態:

同一個名字可以有多種實現狀態,同一個類內部,可以擁有同名的,參數列表不同的方法,子類也可以有同父類同名的變量和方法。

1)覆蓋(override),當子類繼承了父類的同名無參函數時,子類新寫的方法覆蓋父類的方法,(返回類型必須相同)

2)重載(overload)繼承了父類的同名有參函數,並且方法參數不同時稱爲重載,使該方法具有自己的特性。

3)重寫(overwrite)當前類的同名方法,同一個類中可以有多個具有相同名字的方法,由傳遞給他們的不同個數和類型的參數來決定使用哪種方法。

覆蓋和重載針對父類,重寫針對子類。

  4:抽象類定義:

抽象類可以有自己的數據成員,也可以又非abstract的成員方法,也可以有抽象方法,抽象方法只有函數定義部分,沒有函數體。

子類繼承抽象類時必須實現所有的abstract方法。

  5:接口,

java只支持單一繼承,爲了實現多重繼承,設計了接口。一個類只可以有一個直接父類,但是可以實現多個接口。

接口中的方法可以有參數列表和返回類型,但是沒有任何方法體。

接口中可以包含字段,但是會被隱士地聲明爲static和final

接口中的字段只能被存儲在該接口的靜態存儲區域內,而不屬於該接口。

接口中的方法爲public

擴展一個接口來生成新的接口使用關鍵字extends,實現一個接口使用implements.

java接口的方法只能是抽象的和公開的,java接口比java抽象類更抽象化。

  6:接口與抽象類的區別

1)抽象類可以提供實現方法,接口不能提供。如果向抽象類中添加一個新方法,則它的所有子類一下子就得到了這個方法,但是接口,所有實現這個接口的類必須都再實現這個方法才行。

2)抽象類只能繼承一個,而可以實現多個接口。

“默認適配模式”:java接口在最上面,然後緊跟着抽象類。

3)接口可以被嵌套,既可以被某個類嵌套,也可以被接口嵌套。

  7:靜態類:

即定義了靜態方法、靜態變量、靜態代碼塊的類。靜態類不能被實例化,累的成員都是靜態的。意味着告訴編譯器,這個方法不需要創建一個此類的對象即可使用。費靜態類一般需要實例話後才能操作。靜態類在運行時加載到內存中,所以不用進行初始化,也沒有實例,因此在類的內部也不能用this