首頁 > 軟體

Java中this的用法範例總結

2022-08-15 18:06:53

一、this關鍵字

1.this的型別:哪個物件呼叫就是哪個物件的參照型別

二、用法總結

1.this.data; //存取屬性

2.this.func(); //存取方法

3.this(); //呼叫本類中其他構造方法

三、解釋用法

1.this.data

這種是在成員方法中使用

讓我們來看看不加this會出現什麼樣的狀況

class MyDate{
    public int year;
    public int month;
    public int day;
 
    public void setDate(int year, int month,int day){
        year = year;//這裡沒有加this
        month = month;//這裡沒有加this
        day = day;//這裡沒有加this
    }
    public void PrintDate(){
        System.out.println(year+"年 "+month+"月 "+day+"日 ");
    }
}
public class TestDemo {
    public static void main(String[] args) {
        MyDate myDate = new MyDate();
        myDate.setDate(2000,9,25);
        myDate.PrintDate();
        MyDate myDate1 = new MyDate();
        myDate1.setDate(2002,7,14);
        myDate1.PrintDate();
    }
}

我們想要達到的預期是分別輸出2000年9月25日,2002年7月14日。

而實際輸出的結果是

而當我們加上this時

class MyDate{
    public int year;
    public int month;
    public int day;
 
    public void setDate(int year, int month,int day){
       this.year = year;
       this.month = month;
       this.day = day;
    }
    public void PrintDate(){
        System.out.println(this.year+"年 "+this.month+"月 "+this.day+"日 ");
    }
}
public class TestDemo {
    public static void main(String[] args) {
        MyDate myDate = new MyDate();
        myDate.setDate(2000,9,25);
        myDate.PrintDate();
        MyDate myDate1 = new MyDate();
        myDate1.setDate(2002,7,14);
        myDate1.PrintDate();
    }
}

 就實現了賦值的功能,為了避免出現差錯,我們建議儘量帶上this

2.this.func()

這種是指在普通成員方法中使用this呼叫另一個成員方法

class Student{
    public String name;
    public void doClass(){
        System.out.println(name+"上課");
        this.doHomeWork();
    }
    public void doHomeWork(){
        System.out.println(name+"正在寫作業");
    }
}
public class TestDemo2 {
    public static void main(String[] args) {
        Student student = new Student();
        student.name = "小明";
        student.doClass();
    }
}

執行結果:

 (3)this()

這種指在構造方法中使用this呼叫本類其他的構造方法

這種this的使用注意以下幾點

1.this只能在構造方法中呼叫其他構造方法

2.this要放在第一行

3.一個構造方法中只能呼叫一個構造方法

執行結果

總結

到此這篇關於Java中this用法總結的文章就介紹到這了,更多相關Java中this用法內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com