java中super關(guān)鍵字
[TOC]
理解
super代表父類的引用,用于訪問父類的屬性、方法、構(gòu)造
語法
訪問父類的屬性:super.屬性名=值;
訪問父類的方法:super.方法(實參列表);
訪問父類的構(gòu)造:super(實參列表);
注意:必須在子類的構(gòu)造器的第一句
好處
1、當(dāng)子類需要顯式調(diào)用父類的構(gòu)造器時,則必須通過super關(guān)鍵字
2、當(dāng)子類和父類的成員重名時,為了訪問父類的成員,則必須通過super關(guān)鍵字
聯(lián)想:
當(dāng)局部變量和當(dāng)前類的成員變量重名時,可以通過this區(qū)分開
當(dāng)當(dāng)前類的成員變量和父類的成員變量重名時,可以通過super區(qū)分開
特點
1、super的使用不限于直接父類
2、如果父類和爺爺類中都相同的成員,則默認(rèn)訪問的是父類的成員,遵循就近原則
3、this(實參列表)和super(實參列表)不能同時出現(xiàn)在構(gòu)造器中
this和super的對比
http://www.itdecent.cn/p/c7537f45c5d5
1.this:代表本類對象,可以訪問本類的屬性、方法、構(gòu)造。它的出現(xiàn)主要為了區(qū)分成員變量和局部變量,以及調(diào)用本類構(gòu)造器。
通過this訪問成員時,先從本類中查找,如果找不到再從直接父類找,如果還找不到,繼續(xù)往上追溯找間接父類,直到找到為止!
2.super:代表父類引用,可以訪問父類的屬性、方法、構(gòu)造。它的出現(xiàn)主要為了區(qū)分本類和父類的成員,以及調(diào)用父類構(gòu)造器。
通過super訪問成員時,先從直接父類找,如果還找不到,繼續(xù)往上追溯找間接父類,直到找到為止!