當前位置:首頁 » 編程語言 » java的this關鍵字

java的this關鍵字

發布時間: 2022-08-26 14:02:01

java 的this的運用

在java中,this關鍵字有很多種用法。 在java中,這是一個引用當前對象的引用變數。

java this關鍵字的用法如下:

  • this關鍵字可用來引用當前類的實例變數。

  • this關鍵字可用於調用當前類方法(隱式)。

  • this()可以用來調用當前類的構造函數。

  • this關鍵字可作為調用方法中的參數傳遞。

  • this關鍵字可作為參數在構造函數調用中傳遞。

  • this關鍵字可用於從方法返回當前類的實例。

  • 建議:如果你是java初學者,只學習 this 關鍵字的前三個用法就可以了。

    更詳細可以查詢一些教程,例如:https://www.yii.com/java/this-keyword.html

② Java this關鍵字

  1. 這樣寫沒有意義。

  2. 正確寫法this.name = name;

  3. this是當前類Student的對象的意識

  4. 如果不加this, 使用的是局部變數(本例中的參數)。

③ java 中this關鍵字的作用是什麼

this的作用是在類中通過this訪問自身的屬性和方法。

比如:

publicclassMyClass(){
privateinta=1;
publicvoidp(){
}
publicvoidshow(inta){
this.a=this.a+1;//通過this訪問自身屬性,不加this就變成訪問參數a了。
this.p();//通過this訪問自身方法
}
}

④ JAVA中this關鍵字。怎麼辦

"例如你叫mama210217,不熟悉的人打招呼的時候,就叫"mama210217你好"
要是彼此都熟悉了,叫"hi"就是對你打招呼呢,hi就知道是你了。this差不多是這意思吧"

⑤ java中的this關鍵字到底指什麼

如果有兩個同類型的對象,分別叫作a和b,那麼您也許不知道如何為這兩個對象同時調用一個f()方法:
class Banana { void f(int i) { /* ... */ } }
Banana a = new Banana(), b = new Banana();
a.f(1);
b.f(2);
若只有一個名叫f()的方法,它怎樣才能知道自己是為a還是為b調用的呢?
為了能用簡便的、面向對象的語法來書寫代碼——亦即「將消息發給對象」,編譯器為我們完成了一些幕後工作。其中的秘密就是第一個自變數傳遞給方法f(),而且那個自變數是准備操作的那個對象的句柄。所以前述的兩個方法調用就變成了下面這樣的形式:
Banana.f(a,1);
Banana.f(b,2);
這是內部的表達形式,我們並不能這樣書寫表達式,並試圖讓編譯器接受它。但是,通過它可理解幕後到底發生了什麼事情。
假定我們在一個方法的內部,並希望獲得當前對象的句柄。由於那個句柄是由編譯器「秘密」傳遞的,所以沒有標識符可用。然而,針對這一目的有個專用的關鍵字:this。this關鍵字(注意只能在方法內部使用)可為已調用了其方法的那個對象生成相應的句柄。可象對待其他任何對象句柄一樣對待這個句柄。但要注意,假若准備從自己某個類的另一個方法內部調用一個類方法,就不必使用this。只需簡單地調用那個方法即可。當前的this句柄會自動應用於其他方法。所以我們能使用下面這樣的代碼:
class Apricot {
void pick() { /* ... */ }
void pit() { pick(); /* ... */ }
}
在pit()內部,我們可以說this.pick(),但事實上無此必要。編譯器能幫我們自動完成。this關鍵字只能用於那些特殊的類——需明確使用當前對象的句柄。例如,假若您希望將句柄返回給當前對象,那麼它經常在return語句中使用。
由於increment()通過this關鍵字返回當前對象的句柄,所以可以方便地對同一個對象執行多項操作。
1. 在構建器里調用構建器
若為一個類寫了多個構建器,那麼經常都需要在一個構建器里調用另一個構建器,以避免寫重復的代碼。可用this關鍵字做到這一點。
通常,當我們說this的時候,都是指「這個對象」或者「當前對象」。而且它本身會產生當前對象的一個句柄。在一個構建器中,若為其賦予一個自變數列表,那麼this關鍵字會具有不同的含義:它會對與那個自變數列表相符的構建器進行明確的調用。這樣一來,我們就可通過一條直接的途徑來調用其他構建器。如下所示:
其中,構建器Flower(String s,int petals)向我們揭示出這樣一個問題:盡管可用this調用一個構建器,但不可調用兩個。除此以外,構建器調用必須是我們做的第一件事情,否則會收到編譯程序的報錯信息。
這個例子也向大家展示了this的另一項用途。由於自變數s的名字以及成員數據s的名字是相同的,所以會出現混淆。為解決這個問題,可用this.s來引用成員數據。經常都會在Java代碼里看到這種形式的應用,本書的大量地方也採用了這種做法。
在print()中,我們發現編譯器不讓我們從除了一個構建器之外的其他任何方法內部調用一個構建器。

⑥ Java中怎麼使用this關鍵字什麼時候可以使用

當你想要引用當前對象的某種東西,比如當前對象的某個方法,或當前對象的某個成員,你便可以利用this來實現這個目的。

比如說吃飯這個方法它是由上帝來定義的,世界上所有的人來執行。吃飯這個行為發生的時候,主體就是在吃飯的這個人,也就是要有人執行吃飯這個行為。 有時候我們需要在一個行為(方法)里,能明確知道這個行為是誰來執行的,確切的說就是我要知道誰在吃飯。

function eatSomthing() { this.eat }

編程語言裡面每一個定義的方法里,都會有一個this關鍵字,這個this關鍵不是由在那兒定義來決定的,而是由誰來執行的決定的。這是判斷this關鍵。

his表示的對像,是這個方法活動的"上下文"。所謂的"上下文",也就是表示當前的這些代碼的活動范圍,當前的活動(代碼的執行)在那個對像上的發生的意思。

吃飯這個活動,是在張三這個對像上發生的,則張三是吃飯的下下文。在body里去查找的div元素,則body是這個查找活動的上下文。那這個this,就是這個方法運行活動的范圍了。

方法里this當前這個方法運行的上下文,但上下文不僅限於是this(就是整體與個體的區別)。

⑦ java中的this關鍵字

this.func1();代表這個類當前對象(說白了就是類本身,JAVA在類定義里默認一個對象代表類本身行駛調用方法的功能)引用這個方法
a1.func2(); 就是這個具體對象調用方法

⑧ 對於java中this關鍵字的理解

this關鍵字可以簡單的理解為,誰調用this所在的方法,this就是誰。
類的構造函數與getter、setter方法常用到this關鍵字(JavaBean)

JavaBean是一種可重用的Java組件,它可以被Applet、Servlet、SP等Java應用程序調用.也可以可視化地被Java開發工具使用。它包含屬性(Properties)、方法(Methods)、事件(Events)等特性。
public class Person {
//==========靜態屬性===========
//--想學編程的可以來我這看看----
private String name; //姓名
private int age; //年齡
private String gender; //性別

//==========動態行為===========
public void readBook(String book) {
System.out.println("reading " + book);
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;//this.name就是上面的private String name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public String getGender() {
return gender;
}

public void setGender(String gender) {
this.gender = gender;
}
}
官方定義
this 是自身的一個對象,代表對象本身,可以理解為:指向對象本身的一個指針。
this 的用法在 Java 中大體可以分為3種:
1.普通的直接引用
這種就不用講了,this 相當於是指向當前對象本身。
2.形參與成員名字重名,用 this 來區分:
class Person {
private int age = 10;
public Person(){
System.out.println("初始化年齡:"+age);}
public int GetAge(int age){
this.age = age;
return this.age;
}
}
public class test1 {
public static void main(String[] args) {
Person Harry = new Person();
System.out.println("Harry's age is "+Harry.GetAge(12));
}
}

希望對您有所幫助!~

⑨ Java中的this關鍵字請舉個具體的例子來說明用它的好處

this
關鍵字表示的是當前類
比如
this.name
是指當前類的name屬性,有些時候可以用於區分同名屬性,如你在類里有個屬性為name,有個方法里也有個屬性叫name,你在該方法里使用this.name是指類屬性,直接使用name則是指方法的name屬性,這樣不會混淆;
可以用this.method()調用本類的method()方法;
可以調用父類的方法和屬性,比如你繼承了某個類,在該類中你不能直接看到父類的方法和屬性,你需要打開父類去查看他的方法和屬性,這樣比較麻煩,你可以直接用this.的方式查看到父類的方法和屬性;
使用this關鍵字調用類方法和屬性通常比較方便,比如你的類比較長,有時,你想調用某個方法或屬性,你又忘了它的名稱,直接使用this.的方式直接就能找到;
還有一點要注意,比如你有個類包含一個內部類,你在內部類使用this,則是指調用內部類的方法和屬性,此時this不能調用到外部類的方法及屬性。

熱點內容
王者榮耀電腦如何改戰區安卓 發布:2025-01-17 13:23:18 瀏覽:814
華為手機如何開啟說出密碼 發布:2025-01-17 13:23:12 瀏覽:101
伺服器在美國說明什麼 發布:2025-01-17 13:14:10 瀏覽:11
啟辰t90有哪些配置 發布:2025-01-17 13:05:40 瀏覽:38
手機微博密碼怎麼改密碼忘了怎麼辦 發布:2025-01-17 13:04:44 瀏覽:959
微笑雲伺服器 發布:2025-01-17 13:03:25 瀏覽:83
android頂部標題欄 發布:2025-01-17 13:02:28 瀏覽:692
androidjs傳遞參數 發布:2025-01-17 12:51:54 瀏覽:477
建築大師輔助腳本 發布:2025-01-17 12:47:33 瀏覽:331
sql向上 發布:2025-01-17 12:43:57 瀏覽:275