java中的super限定

2021-09-06 21:37:42 字數 979 閱讀 2652

super的用法:

(1)如果需要在子類中呼叫父類中被覆蓋的例項方法,可以用super限定來呼叫父類中被覆蓋的方法。當然,也可以呼叫從父類繼承的例項變數。

public void calloverridedmethod()

注:super限定用於限定該物件呼叫它從父類繼承的例項變數或者方法,但是super不能出現在static修飾的方法中,因為,static修飾的方法是屬於類的,該方法的呼叫者可能是乙個類,而不是乙個物件,因此super限定也就失去了意義。?不明白什麼意思,從書上看到的,求高手指教!謝謝!

(2)如果在構造器中使用super,則super用於限定該構造器初始化的是該物件從父類繼承得到的例項變數,而不是該類自己定義的例項變數。

public class baseclass

public class supclass extends baseclass

}

(3)在乙個構造器中呼叫另乙個過載的構造器使用this來完成。

public class person

public person(string name,int age)

}

在子類構造器中呼叫父類的構造器,使用super來完成。

class person  }

public class chineseperpon

}

注:**是手寫的,出錯很多,諒解!

super和this很像。super呼叫的是父類的構造器(在子類構造器的第一行),而this呼叫的是同乙個類中過載的構造器(在該類構造器的第一行,由於位置的約束,導致this和super不能同時出現)。

構造器的呼叫總是從最高父類開始的,最後才是該類的構造器。上面的**中先是呼叫person的構造器,在呼叫chineseperson的構造器。

方法重寫與super限定

方法重寫注意 如果父類方法具有private訪問許可權,則該方法對其子類是隱藏的,因此其子類無法訪問該方法,也就是無法重寫該方法。如果子類中定義了乙個與父類private方法具有相同的方法名 相同的形參列表 相同的返回值型別的方法,依然不是重寫,只是在子類中定義了乙個新方法。例如,下面 是完全正確的...

java中this和super的區別

一 this 1 屬性訪問 訪問本類中的屬性,如果本類中沒有此屬性,則從父類中繼續查詢 2 方法 訪問本類中的方法,如果本類中沒有此方法,則從父類中繼續查詢 3 呼叫構造 呼叫本類構造,必須放在構造方法的首行 4 表示當前物件 二 super 1 屬性訪問 訪問父類中的屬性 2 方法 直接訪問父類中...

Java中this和super的區別

this通常指當前物件,super則指父類的。當你想要引用當前物件的某種東西,比如當前物件的某個方法,或當前物件的某個成員,你便可以利用this來實現這個目的,當然,this的另乙個用途是呼叫當前物件的另乙個建構函式。如果你想引用父類的某種東西,則非super莫屬。在一般方法中最普遍的情況就是,在你...