本週,我學習了書本上第5、六兩章的內容,如下是我整理的主要知識。java
class 子類名 extends 父類名
git
由繼承而來的類稱爲子類,被繼承的類稱爲父類(超類)。編程
Java不支持多重繼承,子類只能有一個父類,子類與父類是「is-a」關係。學習
Java的類按繼承關係成樹形結構(一對多),根結點是object類,是全部類的祖先類。設計
若類的聲明中沒有使用extends關鍵字,默認這個類是object的子類調試
子類天然地繼承了其父類中不是private的成員做爲本身的成員code
子類只繼承父類中的protected和public訪問權限的成員變量做爲子類的成員變量。對象
用子類的構造方法建立一個子類的對象時,父類的成員變量也分配了內存範圍,只將子類繼承的那部分紅員變量,做爲分配給子類對象的變量blog
左面的操做元是對象,右面的操做元是類,當左面的操做元是右面的類或其子類所建立的對象時,結果是true。繼承
聲明的成員變量的名字和從父類繼承來的成員變量的名字相同,在這種狀況下,子類就會隱藏所繼承的成員變量。
子類經過重寫隱藏已繼承的方法
子類經過方法的重寫能夠把父類的狀態和行爲改變爲自身的狀態和行爲
重寫方法能夠操做繼承的成員變量、調用新意義和其餘方法,但沒法操做被子類隱藏的成員變量和方法
重寫父類的方法時,不容許下降方法的訪問權限,但能夠提升訪問權限
在子類中想使用被子類隱藏的成員變量或方法時,須要使用關鍵字super。例:super.x
,super.play
子類不繼承父類的構造方法,所以,子類在其構造方法中須要使用super來調用父類的構造方法,且super必須是子類構造方法的頭一條語句。
final類不能被繼承,不能有子類
用final修飾父類中的一個方法,那麼,這個方法不容許子類重寫
概念:成員變量或局部變量被修飾爲final
子類與父類:「is-a」關係
上轉型對象的實體是由子類負責建立的,但上轉型對象會失去原對象的一些屬性和功能。
上轉型對象不能操做子類新增的成員變量,不能調用子類新增的方法。能夠訪問子類繼承或隱藏的成員變量,也能夠調用子類繼承的方法或子類重寫的實例方法。
多態性就是指父類的某個方法被其子類重寫時,能夠各自產生本身的功能行爲。
abstract類能夠有abstract方法
abstract類不能用new運算符建立對象
abstract類的子類
abstract類的對象作上轉型對象
可使程序的設計者把主要精力放在程序的設計上,而沒必要拘泥於細節的實現
使用多態進行程序設計的核心技術之一是使用上轉型對象,
設計的系統對擴展開放,對修改關閉,系統易於維護
interface 接口的名字
包括常量的聲明和抽象方法兩部分,只有抽象方法,沒有簡單方法,全部常量的訪問權限必定是public,static常量,全部抽象方法的訪問權限必定是public
一個類須要在類聲明中使用關鍵字implement
聲明該類實現一個或多個接口,實現多個接口,用逗號隔開。例:class A implement Printable ,Addable
若是一個非抽象類實現了某個接口,那麼這個類必須重寫這個接口中的全部方法。類在重寫接口方法時不只要去掉abstract修飾符,給出方法體,方法訪問權限要用public修飾。
接口也能夠被繼承
名字層--常量層--方法層
用接口聲明的變量稱做接口變量,接口屬於引用型變量
接口回調是指:能夠把實現某一接口的類建立的對象的引用複製給該接口聲明的接口變量,那麼改接口就能夠調用被類實現的接口方法。
接口能夠抽象出重要的行爲標準,該行爲標準用抽象方法表示
能夠把實現接口的類的對象引用複製給接口變量,該接口變量能夠調用被該類實現的接口方法。
有接口產生的多態是指不一樣的類在實現同一個接口是可能具備不一樣的實現方法,那麼接口變量在回調接口方法時就可能具備多種形態。
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 |