this 和super關鍵字
一、this 關鍵字
this關鍵字代表的就是函式所屬的呼叫者。this關鍵字的作用:
1.如果存在同名的成員變數與區域性變數時,在方法內部預設的時訪問的時區域性變數,可以通過this關鍵字呼叫成員變數
2.在一個構造方法中呼叫另一個構造方法來初始化物件
this關鍵字要注意的事項
1.存在同名的成員變數與區域性變數時,在方法內部預設會呼叫區域性變數
2.如果在一個方法中訪問一個變數,該變數存在成員遍歷的情況下,,jav會預設在改變數前面新增this
二、super:
super 關鍵字主要是用於實現父類的成員變數,用於當前物件的父類的 應用。
super關鍵字的主要作用是:
1.當子類和父類存在同名的成員變數是,如果要訪問的是父類的成員變數和構造方法是,需要super關鍵字來調。
2.通過super關鍵字來呼叫父類的構造方法
super關鍵字呼叫父類構造方法要注意的事項:
1.如果在子類的構造方法上沒有指定用父類的構造方法,那麼java編譯器會在子類的構造方法上面加上super()關鍵字。
2.super關鍵字呼叫父類的建構函式時,該語句必須是子類建構函式中的第一個語句。
3.super與this關鍵字不能同時出現在同一個建構函式中呼叫其他的建構函式。因為兩個語句都要排在第一個語句
程式碼如下:
package com.homewor;
class Students{
private String name;
private int age;
private String address;
public Students(String name, int age, String address) {
super();
this.name = name;
this.age = age;
this.address = address;
}
public Students() {
super();
// TODO Auto-generated constructor stub
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "Students [name=" + name + ", age=" + age + ", address=" + address + "]";
}
public void Stdeny(){
System.out.println("把自己的心靜靜下來,好啊好啊的的休息好好的學習,");
}
}
public class StudentTest {
public static void main(String[] args) {
Students s=new Students();
s.setName("nama ");
s.setAge(100);
s.setAddress("tainajin");
s.Stdeny();
}
}