Super和this的應用

2021-07-09 13:01:46 字數 878 閱讀 5510

super是指當前類的父類,this指的是當前物件。

看下面的例子:

package test1;

/** * created by lzh on 1/19/2016.

*/public class father

public father(string name)

private void say (string name)

public string getname()

public void setname(string name)

}

我的父類裡面有個屬性name並給了初值,提供了帶參和不帶參的兩個構造器以及相關方法。

下面是我的子類,繼承自上面的類father

package test1;

/** * created by lzh on 1/19/2016.

*/public class test extends father

public void setname(string name)

public string getname()

public static void main(string args)

}

我利用super("english")呼叫父類的帶參構造器將列印出方法say()裡面的語句,super.setname("english")給父類裡面的name賦值,我分別在子類的方法getname和setname裡面列印this看看我執行的結果:

由上圖可以看出兩個this是一樣的,指的是test物件。

this和super關鍵字的區別和應用

1.this和super的區別 this 代表的是本類物件的引用,誰呼叫,就代表誰 super代表的是父類儲存空間的標識 可以理解成父類的引用,可以操作父類的成員 2.this和super的使用 2.1 呼叫成員變數 this.成員變數 呼叫本類的成員變數 super.成員變數 呼叫父類的成員變數 ...

ruby 中super和super 的區別

我們用乙個示例來演示下這個機制 class parent defsay message puts message endendclass child def say message super endend child.new.say hi 輸出hi 如果parent中的say是乙個不帶引數的方法,...

super和this的用法

1.super 一般是用於子類呼叫父類的成員和子類的構造函式呼叫父類的建構函式 1.1 super.在子類的一般方法中可以用super.來呼叫父類的成員變數和成員函式,雖然父類的成員,子類的物件可以直接呼叫,但是當子類方法對父類的方法進行擴充套件時,父類中的方法通過super.可以直接呼叫,然後再擴...