導航:首頁 > 安裝方法 > this方法名在哪裡用

this方法名在哪裡用

發布時間:2022-02-12 08:11:43

㈠ java中this的用法

1. this指當前對象。
當在一個類中要明確指出使用對象變數或函數時加上this引用。如下面例子中:

public class Hello {

String s = "Hello";

public Hello(String s){
System.out.println("s = " + s);
System.out.println("1 -> this.s = " + this.s);
this.s = s;
System.out.println("2 -> this.s = " + this.s);
}

public static void main(String[] args) {
Hello x=new Hello("HelloWorld!");
}
}

運行結果:

s = HelloWorld!
1 -> this.s = Hello
2 -> this.s = HelloWorld!

在這個例子中,構造函數Hello中,參數s與類Hello的變數s同名,這時直接對s進行操作則是對參數s進行操作。對類Hello的成員變數s進行操作就應該用this進行引用。運行結果的第一行就是直接對構造函數中傳遞過來的參數s進行列印結果;
第二行是對成員變數s的列印;第三行是先對成員變數s賦傳過來的參數s值後再列印,所以結果是HelloWorld!

2. this作為參數傳遞
當你要把自己作為參數傳遞給別的對象時如:

public class A {
public A() {
new B(this).print();
}

public void print() {
System.out.println("Hello from A!");
}
}

public class B {
A a;
public B(A a) {
this.a = a;
}

public void print() {
a.print();
System.out.println("Hello from B!");
}
}

運行結果:
Hello from A!
Hello from B!

在這個例子中,對象A的構造函數中,new
B(this)把對象A作為參數傳遞給了對象B的構造函數。

㈡ js中this關鍵字如何應用

  1. 你說的沒錯,『this』就是指向調用其方法的對象,所以person.prop.getFullName()是person.prop調用了getFullName(),獲得的是person.prop的fullname,也就是Jane了

  2. var test=person.prop.getFullName 注意這句是沒有括弧的,person.prop.getFullName是一個function,所以test也會是一個function類型,而實現內容是和person.prop.getFullName一樣的,但沒有任何調用關系,也就是說,這句話等同於:

    var test= function() {

    return this.fullname;

    }

    你這么看的話,如果用了test(); 就等於是調用了同級的fullname,就是Anna了

  3. 不是很懂你這一問的意思,不過不加()的話,只是一個function類型,他代表了一段代碼的實現,但不會去執行這段代碼,加了()就是調用執行這個方法

㈢ this.對象名.方法名()與對象名.方法名()區別

this指的是當前所在類,而對象名.方法名比較通用,當你new一個別的包的類時,調用方法只能用後者,而不能用前者,

㈣ java中「this」的用法是什麼

一、指自己所在的對象。
比如在一個方法中,調用其他對象的變數或方法時,可以使用那個對象的對象名,比如aa.abc();
而調用自己所在對象的方法或變數時,不知道別人給起了什麼名,所以直接用this.abc()就可以了。
二、看一個小例子中「this」的用法!

/**

* @author feng-neusoft

*

* 本示例為了說明this的三種用法!

*/

package test;

public class ThisTest {

private int i=0;

//第一個構造器:有一個int型形參

ThisTest(int i){

this.i=i+1;//此時this表示引用成員變數i,而非函數參數i

System.out.println("Int constructor i——this.i: "+i+"——"+this.i);

System.out.println("i-1:"+(i-1)+"this.i+1:"+(this.i+1));

//從兩個輸出結果充分證明了i和this.i是不一樣的!

}

// 第二個構造器:有一個String型形參

ThisTest(String s){

System.out.println("String constructor: "+s);

}

// 第三個構造器:有一個int型形參和一個String型形參

ThisTest(int i,String s){

this(s);//this調用第二個構造器

//this(i);

/*此處不能用,因為其他任何方法都不能調用構造器,只有構造方法能調用他。

但是必須注意:就算是構造方法調用構造器,也必須為於其第一行,構造方法也只能調

用一個且僅一次構造器!*/

this.i=i++;//this以引用該類的成員變數

System.out.println("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!");

System.out.println(tt0.increment().increment().increment().i);

//tt0.increment()返回一個在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方法中使用!

㈤ Java中this.方法名和super.方法名和對象名.方法名這三者調用方法有什麼異同點啊,希望說

this通常指當前對象的意思,如果想應用當前對象的一些方法就用this.方法名
如果在子類中想調用父類方法就用super.方法名

㈥ java中的this.name=name是什麼意思啊this 有什麼用啊,再哪出現

用術語解釋只會讓初學者聽得滿頭包,我也說說吧,慢慢的來了解,弄清楚每一個東西是什麼,再你往下看前你必須確定你自己有足夠的耐心,呵呵,剛起步都很累的。

借用yzbczq朋友的例子:
public class People{
String name;
//這個name這就是我們說的類的成員變數(也叫類的屬性)

public void getName(String name){
//這里的是name是一個參數,是getName這一個方法(也叫函數)的一個參數(變數),跟上面的name不是一樣的東西!你必須弄清楚現在有兩個變數(參數)的存在

this.name = name;
}
}
好了,然後到問題來了這時候我們有一個成員變數,跟一個方法裡面的局部變數(先弄清楚我說的兩個東西分別是什麼,不然別往下看),但是它們的名字是一樣的!
好了,我們先別管this,如果我們有一個這個類的實例對象叫person(所謂類的對象,就是根據什麼People這一個類(圖紙)所製造出來的實例),那麼這時候
this.name=name的意思也就相當於person.name,現在知道this說的是什麼了吧?然後後面的那個name就是我們那個函數方法裡面的參數,如果我們getName(String x),把這個name改名成為x,那麼我們可以寫成:
name = x,為什麼此時可以直接用name呢?因為name是我們People這個類中的一個成員變數,而我們getName這裡面沒有一樣名為name的變數,它就會直接引用我們的成員變數了。但是如果getName這個函數裡面也定義了一個同名為name的變數,那麼!這個函數就會以它自身的這個變數為准,所以如果在你的原例子中不用this,那麼在這個函數裡面不就是相當於說,我的一個變數等於它自己本身,這不是廢話嗎?

好了,我們再說this,this就是說現在這個實例(還記得實例把,我們這里的實例名字叫person),我們的getName可不止只有person這個實例引用的啊,如果我們寫成person.name=name,那麼如果我創建一個名字叫person2的實例,引用這個函數會是什麼樣的情況?那麼現在明白this的作用了吧,它就是「我」的意思,你說的我,跟我本人說的我,都是我(都是this),但卻指代了不同的東西。

呵呵,說得有點羅嗦了,但是,應該能看懂了吧。你這個this.name=name是在一個方法裡面的吧,有點想起張孝祥的那個教程。
還有作為一個過來人,其實到後面的語法很簡單,很容易看明白,但是理論基礎卻非常的苦澀難懂!但這個非常的重要,你看完上面朋友的留言沒辦法看懂的話就是基礎不過關,你的基礎不過關你即使請教別的高手你也沒辦法明白他們在說什麼。呵呵,開始才是最難的,反復的看完再看,必須把教程的每一句弄懂,不然你即使知道了語法,以後也會出很多問題,最難的莫過於這些抽象的概念。你必須先了解清楚面向對象,對於初學者,下面的這篇文章是我見過的最好的,有點長,但如果沒那個耐心,你還是放棄java吧:
http://hi..com/vrhero/blog/item/1936f319a1420d7adab4bda6.html

㈦ Java中this關鍵字與方法

就普通方法或者屬性而言,寫this和不寫this沒區別。
this主要是用來和super區分的。this調用本類的構造方法,super調用父類的構造方法。

㈧ JAVA(this用法)

Java關鍵字this只能用於方法方法體內。當一個對象創建後,Java虛擬機(JVM)就會給這個對象分配一個引用自身的指針,這個指針的名字就是 this。因此,this只能在類中的非靜態方法中使用,靜態方法和靜態的代碼塊中絕對不能出現this,這在「Java關鍵字static、final 使用總結」一文中給出了明確解釋。並且this只和特定的對象關聯,而不和類關聯,同一個類的不同對象有不同的this。

package test;
public class ThisTest {
private int i=0;
//第一個構造器:有一個int型形參
ThisTest(int i){
this.i=i+1;//此時this表示引用成員變數i,而非函數參數i
System.out.println("Int constructor i——this.i: "+i+"——"+this.i);
System.out.println("i-1:"+(i-1)+"this.i+1:"+(this.i+1));
//從兩個輸出結果充分證明了i和this.i是不一樣的!
}
// 第二個構造器:有一個String型形參
ThisTest(String s){
System.out.println("String constructor: "+s);
}
// 第三個構造器:有一個int型形參和一個String型形參
ThisTest(int i,String s){
this(s);//this調用第二個構造器
//this(i);

this.i=i++;//this以引用該類的成員變數
System.out.println("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!");

System.out.println(tt0.increment().increment().increment().i);
//tt0.increment()返回一個在tt0基礎上i++的ThisTest對象,
//接著又返回在上面返回的對象基礎上i++的ThisTest對象!
}
}
/*
細節問題注釋已經寫的比較清楚了,這里不在贅述,只是總結一下,其實this主要要三種用法:
1、表示對當前對象的引用!
2、表示用類的成員變數,而非函數參數,注意在函數參數和成員變數同名是進行區分!其實這是第一種用法的特例,比較常用,所以那出來強調一下。
3、用於在構造方法中引用滿足指定參數類型的構造器(其實也就是構造方法)。但是這里必須非常注意:只能引用一個構造方法且必須位於開始!
還有就是注意:this不能用在static方法中!所以甚至有人給static方法的定義就是:沒有this的方法!雖然誇張,但是卻充分說明this不能在static方法中使用!
說明在什麼情況下需要用到this:
第一、通過this調用另一個構造方法,用發是this(參數列表),這個僅僅在類的構造方法中,別的地方不能這么用。
第二、函數參數或者函數中的局部變數和成員變數同名的情況下,成員變數被屏蔽,此時要訪問成員變數則需要用「this.成員變數名」的方式來引用成員變數。當然,在沒有同名的情況下,可以直接用成員變數的名字,而不用this,用了也不為錯,呵呵。
第三、在函數中,需要引用該函所屬類的當前對象時候,直接用this。
其實這些用法總結都是從對「this是指向對象本身的一個指針」這句話的更深入的理解而來的,死記不然容易忘記而且容易搞錯,要理解!
*/

㈨ Java成員方法中能用this嗎

可以的。在一般方法中,在你的方法中的某個形參名與當前對象的某個成員有相同的名字,這時為了不至於混淆,你便需要明確使用this關鍵字來指明你要使用某個成員,使用方法是「this.成員名」,而不帶this的那個便是形參。另外,還可以用「this.方法名」來引用當前對象的某個方法,但這時this就不是必須的了,你可以直接用方法名來訪問那個方法,編譯器會知道你要調用的是那一個。下面的代碼演示了上面的用法:
public class DemoThis{
private String name;
private int age;
DemoThis(String name,int age){
setName(name); //你可以加上this來調用方法,像這樣:this.setName(name);但這並不是必須的
setAge(age);
this.print();
}
public void setName(String name){
this.name=name;//此處必須指明你要引用成員變數
}
public void setAge(int age){
this.age=age;
}
public void print(){
System.out.println("Name="+name+" Age="+age);//在此行中並不需要用this,因為沒有會導致混淆的東西
}
public static void main(String[] args){
DemoThis dt=new DemoThis("Kevin","22");
}
}

閱讀全文

與this方法名在哪裡用相關的資料

熱點內容
我的世界怎麼獲得鑽石最快方法 瀏覽:895
強直最好治療方法 瀏覽:310
影視媒介研究方法質化研究 瀏覽:365
凱美瑞aux使用方法 瀏覽:795
用艾葉泡腳的正確方法 瀏覽:56
鍛煉身體有什麼方法 瀏覽:876
新冠肺炎如何用推拿方法輔助治療 瀏覽:316
34約等於的計算方法三年級 瀏覽:785
啞鈴鍛煉肱三頭肌方法 瀏覽:417
口臭是怎麼回事用什麼方法解決 瀏覽:365
鑒別鹵代烴與醚的方法 瀏覽:380
快速收集信息方法 瀏覽:825
小兔子手工製作方法及圖片 瀏覽:442
482除以254的簡便方法 瀏覽:452
PDC酒糟面膜使用方法 瀏覽:417
多台電腦ip地址連接列印機方法 瀏覽:122
搜狐視頻卡解決方法 瀏覽:3
怎麼能快速解酒的方法 瀏覽:717
如何學習內容和方法 瀏覽:146
如何緩解痛苦的小方法 瀏覽:704