一、說明
1.super理解為:父類的
2.super可以用來呼叫:屬性、方法、構造器
二、關於super的使用:呼叫屬性和方法
1.我們可以在子類的方法或構造器中,通過使用「super.屬性」或「super.方法」的方式,顯示的呼叫父類中宣告的屬性和方法。但是,通常情況下,我們習慣省略「super.」
特殊情況:
(1)當子類和父類中定義了同名的屬性時,我們要想在子類中呼叫父類中宣告的屬性,則必須顯式的使用「super.屬性」的方式,表明呼叫的是父類中宣告的屬性。
(2)當子類重寫了父類中的方法以後,我們i想在子類的方法中呼叫父類中被重寫的方法時,則必須顯式的使用「super.方法」的方式,表明呼叫的是父類中宣告的方法。
三、super呼叫構造器
1.我們可以在子類的構造器中顯式的使用「super(形參列表)」的方式,呼叫父類中宣告的指定的構造器。
2.「super(形參列表)」的使用,必須宣告在子類構造器的首行!
3.我們在類的構造器中,針對於「this(形參列表)」或「super(形參列表)」只能二選一,不能同時出現。
4.在構造器的首行,沒有顯式的宣告「this(形參列表)」或「super(形參列表)」,則預設呼叫的時父類中空參的構造器。即「super()」
5.在類的多個構造器中,至少有乙個類的構造器中使用了「super(形參列表)」,呼叫父類中的構造器。
person類:
public
class
person
public
person
(string name)
public
person
(string name,
int age)
public
void
eat(
)public
void
walk
(int distance)
}
stydent類:
public
class
person
public
person
(string name)
public
person
(string name,
int age)
public
void
eat(
)public
void
walk
(int distance)
}
supertest類:
public
class
supertest
}
輸出:
我一直都在的
name = null. age =
0id =
1002
id =
1001
學習null專業技能
吃學生餐
吃飯name = tom. age =
20id =
1002
id =
1001**
****
****
****
****
****
****
*我一直都在的
物件導向程式設計 static關鍵字
物件導向程式設計 static關鍵字 static關鍵字總結 class static 2,靜態方法 a,和靜態變數相同,靜態方法同樣可以在不建立物件下,通過類名直接呼叫.b,在靜態方法裡只能直接呼叫同類中其它的靜態成員 包括變數和方法 而不能直接訪問類中的非靜態成員。這是因為,對於非靜態的方法和變...
c primer 物件導向程式設計關鍵字
1.虛函式 virtual關鍵字來定義,主要是基類的派生類,作用是為了派生類可以在相同函式名的時候,可以有自己的功能,而不用執行基類的行為。class pp void pp test 結果是 test tt tt 2.關鍵字 static 靜態成員 靜態成員如果有n個同類的物件,那麼每乙個物件都分別...
物件導向程式設計 八 this關鍵字
很多人一提起它,就說 當前物件 可到底什麼是當前物件,是什麼當前物件,他自己也不清楚。this 隱式引數 例1 public class student 構造方法 public student string name,int id public student string name public ...