1.this:表示當前對象
常用的代碼:
public class A{
private String name;
public void setName(String name){
this.name = name;//因為同名了,所以用this.name來表示是成員變量
}
}
2.this():表示當前對象的構造方法(構造方法調用另一個構造方法時使用)
public class Test{
public Test(String name,String password){}
public Test(String name){
this(name,"123");//這里是調用了第一個構造方法,並且必須放在新的構造方法的第一行
System.out.println("調用了另一個構造方法");//這行若跟上面行替換位置,則編譯錯誤
}
}
3.super和super()同上,只是調用的是父類的成員變量和構造方法而已
=============================================================================
注:這是詳細介紹繼承中子類與父類構造方法的調用關系
http://www.cnblogs.com/Gaojiecai/p/4004782.html
繼承中的構造方法
1、子類的構造過程中必須調用其基類的構造方法。(因為要繼承,所以必須先實例化父類,不然怎么繼承)
2、子類可以在自己的構造方法中使用super(argument_list)調用基類的構造方法。
2.1、使用this(argument_list)調用本類的另外構造方法。
2.2、如果調用super()或者this(),必須寫在子類構造方法的第一行(但如果僅是通過this或super來訪問成員屬性則沒有這個要求)。
(第3、第4條一起看)
3、如果子類的構造方法中沒有顯式的調用基類的構造方法,則系統默認調用基類的無參數構造方法。
4、如果子類構造方法中既沒有顯式調用基類構造方法,而基類又沒有無參數的構造方法,則編譯出錯。