1. 程式人生 > >學號20《Java程式設計》第六週學習總結

學號20《Java程式設計》第六週學習總結

一、教材學習內容總結

     在第五章的學習中,瞭解到三個比較重要的關鍵字。第一是用extends來定義子類,因為java不支援多重繼承,所以每個類只有一個父類;而且任何類都是object類的子類,還有就是沒寫關鍵字extends,則為object類的子類;第二個是成員變數的隱藏,這就需要用到了關鍵字super操作子類隱藏的變數;第三個是關鍵字final,final類不能被繼承,如果用final修飾方法,則這個方法不允許子類重寫;第四個是關鍵字abstract,對於abstract方法,只允許宣告,不允許實現(沒有方法體),而且不允許final和abstract同時修飾衣蛾方法或類,也不允許static修飾abstract方法。

     接下來就是繼承,java中會使用到包,那麼同一個包或者不同一個包繼承了什麼?首先,在同一個包中繼承的有公有,保護以及友好,不同的包中繼承只有公有和保護。後面就是上轉型,假如說A父類有一個物件a,子類有一個物件b,將b賦給a,則a成為b物件的上轉型物件。這裡還有一個就是多型,多型是指使用父類物件時,父類物件只有一個,將多個子類的行為賦給父類,則父類會表現出不同的行為。多型通父-子重寫為上轉型,上轉型是多型的表現方式。

 

 

方法過載

方法重寫

概念

一個類中可以有多個方法具有相同的名字,但是這些方法的引數必須不同,即或者引數的個數不同,或者是引數的型別不同。

方法的名字引數個數、引數的型別和父類的方法完全相同。

舉例

float hello(int a,int b){}

float hello(long a,int b){}

Double hello(double a,int b){}

 

Class A{

Float computer(float x,float y){return x+y;}...}

Class B extends A

{

Float computer(float x,float y){return x*y;}

 

 

 

普通類(非abstract類)

abstract類

區別

不可以有abstract方法

可以有abstract方法,也可以有非abstract方法

可以用new運算子

不能用new運算子建立物件

 

 

二、教材中的學習問題和解決過程

1、一個類的各個子類是怎樣體現多型的?

通過重寫方法。

  1. 子類可以有多個父類嗎?

       不可以,因為java不支援多重繼承。

  1. 父類的final方法可以被子類重寫嗎?

   不可以,因為不允許子類隱藏可以繼承的final方法。

 

 

  • 其他(感悟)  

   這周比較特殊,純理論,沒有時間上機敲程式碼。但是這周的純理論課的內容也很多,有一些比較容易理解,有一些太難理解了,特別是課本上的開-閉原則,但是我也懂得了很多。

 

  • 學習進度條

 

程式碼行數(新增/累積)

部落格量(新增/累積)

學習時間(新增/累積)

重要成長

目標

5000行

30篇

400小時

 

第一週

10行

1篇

3小時

 

第二週

20行

2篇

10小時

 

第三週

20行

3篇

10小時

 

第四周

30行

4篇

3小時

 

第五週

50行

5篇

5小時

 

第六週

10行

6篇

5小時