java中this的作用及用法是什么
使用this調用本類中的屬性 現在觀察以下代碼,看會有那些問題:public void setName(String name){ name = name ; } 這里面的兩個name都是setName方法中的name參數。
此時,特別希望可以通過一個指定的標識明確的表示要把傳入的name參數的值給類中的屬性,所以此時就需要使用this關鍵字,使用*就表示類中的屬性。class Person{ private String name ; private int age ; public Person(String name,int age){ *e(name) ; *(age) ; } public void setName(String name){ * = name ; } public void setAge(int age){ * = age ; } public String getName(){ return * ; } public int getAge(){ return * ; } public void print(){ *n("姓名:"+*+",年齡:"+*) ; } }; public class Demo35{ public static void main(String args[]){ Person p1 = new Person("張三",30) ; *() ; } }; 使用this還可以從一個構造方法中調用其他構造方法。
例如:有以下一個要求,一個類中存在了三個構造方法,但是要求,不管怎么調用,最終都要求可以在對象實例化的時候打印一個“新的對象產生了”的提示。class Person{ private String name ; private int age ; public Person(){ *n("新的對象產生了。
") ; } public Person(String name){ *n("新的對象產生了。
。") ; *e(name) ; } public Person(String name,int age){ *n("新的對象產生了。
") ; *e(name) ; *(age) ; } public void setName(String name){ * = name ; } public void setAge(int age){ * = age ; } public String getName(){ return * ; } public int getAge(){ return * ; } public void print(){ *n("姓名:"+*+",年齡:"+*) ; } }; 以上代碼雖然可以實現功能,但是同樣的代碼出現了三次,而且后面的兩次出現純屬多余吧。用this()的形式可以調用類中的無參構造方法。
class Person{ private String name ; private int age ; public Person(){ *n("新的對象產生了。
。") ; } public Person(String name){// 最終都是調用無參構造方法 this() ; *e(name) ; } public Person(String name,int age){ this(name) ; *(age) ; } public void setName(String name){ * = name ; } public void setAge(int age){ * = age ; } public String getName(){ return * ; } public int getAge(){ return * ; } public void print(){ *n("姓名:"+*+",年齡:"+*) ; } }; public class Demo36{ public static void main(String args[]){ Person p1 = new Person("張三",30) ; *() ; } }; 注意點1:如果使用了this調用其他構造方法,則此語句,必須寫在構造方法的首行。
public void fun(){// 發現在調用fun方法的時候,必須先設置name的值 this("zhangsan") ; } public Person(String name,int age){ *(age) ; this(name) ; //--> 必須放在首行 } 注意點2:使用this可以調用本類中的其他構造方法,但是至少留一個構造方法,作為程序的出口。public Person(){ this("a",10) ; *n("新的對象產生了。
") ; } public Person(String name){// 最終都是調用無參構造方法 this() ; *e(name) ; } public Person(String name,int age){ this(name) ; //--> 必須放在首行 *(age) ; } this最重要的特性 —— 表示當前對象 當前對象在程序中用以下形式體現:· 當前操作此方法的對象,就稱為當前對象。class Demo{ public void print(){ *n(this) ; } }; public class Demo38{ public static void main(String args[]){ Demo d1 = new Demo() ; *n(d1) ; *() ; *n("---------------------") ; Demo d2 = new Demo() ; *n(d2) ; *() ; } }; 回顧:之前講解的兩個對象比較的程序。
// 在類的內部增加一個比較的方法 public boolean compare(Person p){ Person p1 = this ; Person p2 = p ; if(*(*)&&*==*){ return true ; }else{ return false ; } } 分析程序的運行過程:class A{ private B b = null ; public A(){ this.b = new B(this) ; *() ; } public void hello(){ *n("Hello World!!!") ; } }; class B{ private A a = null ; public B(A a){ this.a = a ; } public void fun(){ *() ; } }; public class OODemo40{ public static void main(String args[]){ A aa = new A() ; } };。
java 中this什么作用 小白提問
每當一個對象創建后,Java虛擬機會給這個對象分配一個引用自身的指針,這個指針的名字就是 this。因此,this只能在類中的非靜態方法中使用,靜態方法和靜態的代碼塊中絕對不能出現this的用法。
第一種是用于區分局變量,和對象屬性的,如下例所示。可以看到,兩個name都是一樣的命名,怎么來區分呢,就是用這種方法來進行區分的。
下面是代碼。
package baidujinyan;
import *;
public class Junittry {
@Test
public void testmyname(){
JunitBaidu mybaiduBaidu=new JunitBaidu();
*yname();
}
@Test
public void textextend(){
Baidu myabiduBaidu=new Baidu();
*();
}
}
這里開始是第二段。
package baidujinyan;
public class Baidu extends Baidujingyan{
public boolean me=true;
public String nameString;
@Override
public void mytry() {
// TODO Auto-generated method stub
String nameString="your";
*ring=nameString;
*n(*ring);
}
}
it that 和this 在話語中的用法
It 有四種用法
1、人稱代詞:指代已知的或已經提到的事物,包括無生命物體,性別不詳、不知或不相關的有生命物體。如:
Pass it to me. 把它東西給我遞過來。
Who is it behind the door? 門后那個人是誰呀?
2、非人稱代詞:指代時間、氣候、距離、情況以及度量衡等。如:
It is Tuesday today. 今天(時間)是星期二。
It was cold that day. 那天(天氣)很冷。
It is not that far. (距離)不算太遠。
3、先行代詞:指代為了平衡句子結構而后置的作主語或賓語的不定式短語、動名詞短語或從句。如:
It is important for us to do it. 我們做這件事很重要。
It is helpless crying over spilled milk. 無益的后悔是沒用的。
We found it necessary to pay a visit to him. 我們覺得有必要去拜訪他。
4、強調代詞:在句型it is … that 中強調主語、賓語或狀語部分。如:
It was yesterday that he gave someone a ring. 那是昨天他給人打過電話。
That 的主要用法如下:
1、指代已提過的事件、行為或時間。如:
After that, he became a teacher. 從那以后,他成了教師。
2、指代較早或較遠事物。如:
That is for sale; this is not. 那個是出售的;這個不是。
3、指代上文提到過詞或短語的意思。如:
He was fed up, and that to a great degree. 他已吃飽,而且相當撐。
4、用作關聯詞,引導名詞性從句(主語、賓語、表語和同位語)、定語從句和狀語從句(目的、結果、原因等)【例句從略】
This 的主要用法如下:
1、指代當前、鄰近或剛提及的人或物,如:
said he'd be back before this. 說他會在這之前回來。
2、指代即將談到的事,如:
Now don't laugh when you hear this. 聽了這個你不要笑。
3、指代較近的人或事物,如:
This is mine and that is yours. 這個是我的,那個是你的。
轉載請注明出處華閱文章網 » this()語句的作用