- (提醒)成員變量和靜態(tài)方法出現(xiàn)在子類(lèi)中,我們一般稱之為隱藏,請(qǐng)看下面的代碼,不要被子類(lèi)中“覆寫(xiě)”的靜態(tài)方法所迷惑。
- 其實(shí)成員變量(無(wú)論是靜態(tài)、實(shí)例、任何訪問(wèn)權(quán)限)、靜態(tài)方法、私有方法都是靜態(tài)綁定。
package cn.jxau.yuan.sharWeb;
/**
* Created by 編程只服JAVA on 2017.06.06.
*/
public class ExtendsTest {
int weight = 121;
static void show(){
System.out.println("Father");
}
}
class Sub extends ExtendsTest{
int weight = 123;
/**
* 父類(lèi)中的成員變量和靜態(tài)方法出現(xiàn)在子類(lèi)中,我們一般稱之為隱藏
*/
static void show(){
System.out.println("son");
}
public static void main(String[] args) {
ExtendsTest extendsTest = new Sub();
System.out.println("向上轉(zhuǎn)型進(jìn)行調(diào)用:.......");
extendsTest.show();
System.out.println(extendsTest.weight);
System.out.println("直接調(diào)用:...............");
Sub sub = new Sub();
sub.show();
System.out.println(sub.weight);
}
}
運(yùn)行結(jié)果:

image.png
super:某老師
super關(guān)鍵字:表示父類(lèi)的綁定特征
通過(guò)super到子類(lèi)所繼承的父類(lèi)中找到與父類(lèi)綁定的屬性和方法
語(yǔ)法:super.父類(lèi)中的屬性or方法super用于調(diào)用父類(lèi)中定義的屬性和成員方法
覆蓋的方法都是跟子類(lèi)綁定的,所以找不到與父類(lèi)動(dòng)態(tài)綁定的私有屬性,所以需要通過(guò)super關(guān)鍵字找到父類(lèi)靜態(tài)綁定的方法和動(dòng)態(tài)綁定的屬性
PS:super不能出現(xiàn)在靜態(tài)方法里,因?yàn)殪o態(tài)方法都是通過(guò)類(lèi)調(diào)用的,不能接收this指針super在構(gòu)造方法的作用:
通過(guò)super來(lái)顯示指定調(diào)用父類(lèi)的哪個(gè)構(gòu)造方法,同時(shí)給該構(gòu)造方法傳參數(shù)
語(yǔ)法:如果要顯示調(diào)用父類(lèi)的某個(gè)構(gòu)造方法,就必須放在子類(lèi)構(gòu)造方法的第一句并且傳進(jìn)對(duì)應(yīng)的參數(shù),只能寫(xiě)一條!
子類(lèi)構(gòu)造方法(String name){
Super(name);//就會(huì)找父類(lèi)的參數(shù)簽名為String的構(gòu)造方法,把this指針傳給該構(gòu)造方法
}