20165211 2017-2018-2 《Java程序設計》第4周學習總結

20165211 2017-2018-2 《Java程序設計》第4周學習總結

教材學習內容總結

本週,我學習了書本上第5、六兩章的內容,如下是我整理的主要知識。java

第五章 子類與繼承

子類與父類
1.1子類

class 子類名 extends 父類名git

由繼承而來的類稱爲子類,被繼承的類稱爲父類(超類)。編程

Java不支持多重繼承,子類只能有一個父類,子類與父類是「is-a」關係。學習

1.2類的樹形結構

Java的類按繼承關係成樹形結構(一對多),根結點是object類,是全部類的祖先類。設計

若類的聲明中沒有使用extends關鍵字,默認這個類是object的子類調試

子類的繼承性
2.1 子類和父類在同一包中的繼承性

子類天然地繼承了其父類中不是private的成員做爲本身的成員code

2.2 子類和父類不在同一包中的繼承性

子類只繼承父類中的protected和public訪問權限的成員變量做爲子類的成員變量。對象

2.3 protected的進一步說明
子類與對象
3.1 子類對象的特色

用子類的構造方法建立一個子類的對象時,父類的成員變量也分配了內存範圍,只將子類繼承的那部分紅員變量,做爲分配給子類對象的變量blog

3.2 關於instanceof運算符

左面的操做元是對象,右面的操做元是類,當左面的操做元是右面的類或其子類所建立的對象時,結果是true。繼承

成員變量的隱藏和方法重寫
成員變量的隱藏

聲明的成員變量的名字和從父類繼承來的成員變量的名字相同,在這種狀況下,子類就會隱藏所繼承的成員變量。

方法重寫

子類經過重寫隱藏已繼承的方法

子類經過方法的重寫能夠把父類的狀態和行爲改變爲自身的狀態和行爲

重寫方法能夠操做繼承的成員變量、調用新意義和其餘方法,但沒法操做被子類隱藏的成員變量和方法

重寫父類的方法時,不容許下降方法的訪問權限,但能夠提升訪問權限

super關鍵字
用super操做被隱藏的成員變量和方法

在子類中想使用被子類隱藏的成員變量或方法時,須要使用關鍵字super。例:super.x,super.play

使用super調用父類的構造方法

子類不繼承父類的構造方法,所以,子類在其構造方法中須要使用super來調用父類的構造方法,且super必須是子類構造方法的頭一條語句。

final關鍵字
final類

final類不能被繼承,不能有子類

final方法

用final修飾父類中的一個方法,那麼,這個方法不容許子類重寫

常量

概念:成員變量或局部變量被修飾爲final

對象的上轉型對象

子類與父類:「is-a」關係

上轉型對象的實體是由子類負責建立的,但上轉型對象會失去原對象的一些屬性和功能。

上轉型對象不能操做子類新增的成員變量,不能調用子類新增的方法。能夠訪問子類繼承或隱藏的成員變量,也能夠調用子類繼承的方法或子類重寫的實例方法。

繼承與多態

多態性就是指父類的某個方法被其子類重寫時,能夠各自產生本身的功能行爲。

abstract類和abstract方法

abstract類能夠有abstract方法

abstract類不能用new運算符建立對象

abstract類的子類

abstract類的對象作上轉型對象

面向抽象編程

可使程序的設計者把主要精力放在程序的設計上,而沒必要拘泥於細節的實現

使用多態進行程序設計的核心技術之一是使用上轉型對象,

開-閉原則

設計的系統對擴展開放,對修改關閉,系統易於維護

第5章 接口與實現

接口
接口聲明

interface 接口的名字

接口體

包括常量的聲明和抽象方法兩部分,只有抽象方法,沒有簡單方法,全部常量的訪問權限必定是public,static常量,全部抽象方法的訪問權限必定是public

實現接口

一個類須要在類聲明中使用關鍵字implement聲明該類實現一個或多個接口,實現多個接口,用逗號隔開。例:class A implement Printable ,Addable

若是一個非抽象類實現了某個接口,那麼這個類必須重寫這個接口中的全部方法。類在重寫接口方法時不只要去掉abstract修飾符,給出方法體,方法訪問權限要用public修飾。

接口也能夠被繼承

接口的UML圖

名字層--常量層--方法層

接口回調

用接口聲明的變量稱做接口變量,接口屬於引用型變量

接口回調是指:能夠把實現某一接口的類建立的對象的引用複製給該接口聲明的接口變量,那麼改接口就能夠調用被類實現的接口方法。

理解接口

接口能夠抽象出重要的行爲標準,該行爲標準用抽象方法表示

能夠把實現接口的類的對象引用複製給接口變量,該接口變量能夠調用被該類實現的接口方法。

接口與多態

有接口產生的多態是指不一樣的類在實現同一個接口是可能具備不一樣的實現方法,那麼接口變量在回調接口方法時就可能具備多種形態。

接口參數
abstract類與接口的比較

abstract類和接口均可以有abstract方法

接口中只能夠有常量,不能有變量,abstract類中既能夠有常量,也能夠有變量

abstract類中能夠有非abstract方法,接口不能夠

代碼調試中的問題和解決過程

  • 問題1:

  • 問題1解決方案:cheapGoods.newSetWeight(),括號中須要填入int型的數據。

  • 問題2:

  • 問題2解決方案:使用println輸出產生錯誤,應爲printf

代碼託管

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 37/37 1/1 10/10
第二週 399/436 1/2 12/22
第三週 764/1163 1/3 18/40
第四周 687/1813 1/4 12/52
相關文章
相關標籤/搜索