jave中this的用法小結
我知道很多朋友都和我一樣:在JAVA程序中似乎經常見到“this”,自己也偶爾用到它,但是到底“this”該怎麼用,卻心中無數!很多人一提起它,就説“當前對象”,可到底什麼是當前對象,是什麼當前對象,他自己也不清楚。現在讓大家看一個小例子,給你分享一下JAVA中“this”的用法!
複製代碼 代碼如下:
/**
* @author fengzhi-neusoft
*
* 本示例為了説明this的三種用法!
*/
package test;
public class ThisTest {
private int i=0;
//第一個構造器:有一個int型形參
ThisTest(int i){
this.i=i+1;//此時this表示引用成員變量i,而非函數參數i
tln("Int constructor i——this.i: "+i+"——"+this.i);
tln("i-1:"+(i-1)+"this.i+1:"+(this.i+1));
//從兩個輸出結果充分證明了i和this.i是不一樣的!
}
// 第二個構造器:有一個String型形參
ThisTest(String s){
tln("String constructor: "+s);
}
// 第三個構造器:有一個int型形參和一個String型形參
ThisTest(int i,String s){
this(s);//this調用第二個構造器
//this(i);
/*此處不能用,因為其他任何方法都不能調用構造器,只有構造方法能調用他。
但是必須注意:就算是構造方法調用構造器,也必須為於其第一行,構造方法也只能調
用一個且僅一次構造器!*/
this.i=i++;//this以引用該類的`成員變量
tln("Int constructor: "+i+"/n"+"String constructor: "+s);
}
public ThisTest increment(){
this.i++;
return this;//返回的是當前的對象,該對象屬於(ThisTest)
}
public static void main(String[] args){
ThisTest tt0=new ThisTest(10);
ThisTest tt1=new ThisTest("ok");
ThisTest tt2=new ThisTest(20,"ok again!");
tln(ement()ement()ement().i);
//ement()返回一個在tt0基礎上i++的ThisTest對象,
//接着又返回在上面返回的對象基礎上i++的ThisTest對象!
}
}
運行結果:
Int constructor i——this.i: 10——11
String constructor: ok
String constructor: ok again!
Int constructor: 21
String constructor: ok again!
14
細節問題註釋已經寫的比較清楚了,這裏不在贅述,只是總結一下,其實this主要要三種用法:
1、表示對當前對象的引用!
2、表示用類的成員變量,而非函數參數,注意在函數參數和成員變量同名是進行區分!其實這是第一種用法的特例,比較常用,所以那出來強調一下。
3、用於在構造方法中引用滿足指定參數類型的構造器(其實也就是構造方法)。但是這裏必須非常注意:只能引用一個構造方法且必須位於開始!
還有就是注意:this不能用在static方法中!所以甚至有人給static方法的定義就是:沒有this的方法!雖然誇張,但是卻充分説明this不能在static方法中使用!
-
學生部長個人工作總結(集合15篇)
總結是事後對某一階段的學習或工作情況作加以回顧檢查並分析評價的書面材料,通過它可以正確認識以往學習和工作中的優缺點,不妨讓我們認真地完成總結吧。總結怎麼寫才不會千篇一律呢?以下是小編收集整理的學生部長個人工作總結,供大家參考借鑑,希望可以幫助到有需要...
-
幼兒園安全個人工作總結集合10篇
總結是在一段時間內對學習和工作生活等表現加以總結和概括的一種書面材料,它可以有效鍛鍊我們的語言組織能力,因此,讓我們寫一份總結吧。那麼我們該怎麼去寫總結呢?以下是小編為大家整理的幼兒園安全個人工作總結,歡迎閲讀,希望大家能夠喜歡。幼兒園安全個人工作總結...
-
電力班組安全工作總結3篇
總結在一個時期、一個年度、一個階段對學習和工作生活等情況加以回顧和分析的一種書面材料,它能夠給人努力工作的動力,是時候寫一份總結了。那麼總結應該包括什麼內容呢?下面是小編整理的電力班組安全工作總結,歡迎大家分享。電力班組安全工作總結1一、20xx年全年...
-
酒店總經理年終工作總結(集合9篇)
總結是在某一時期、某一項目或某些工作告一段落或者全部完成後進行回顧檢查、分析評價,從而得出教訓和一些規律性認識的一種書面材料,它是增長才乾的一種好辦法,讓我們好好寫一份總結吧。總結怎麼寫才不會千篇一律呢?以下是小編收集整理的酒店總經理年終工作總結,僅...