您好,登錄后才能下訂單哦!
今天小編給大家分享一下Java中this方法怎么使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
1.this的類型:哪個對象調用就是哪個對象的引用類型
1.this.data; //訪問屬性
2.this.func(); //訪問方法
3.this(); //調用本類中其他構造方法
這種是在成員方法中使用
讓我們來看看不加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
這種是指在普通成員方法中使用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方法怎么使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。