java構造方法中「this.x=a」與「this.x=x」分別是什麼意思

我想你對java中的 成員變數和局部變數 的定義和范圍不太了解吧。
先簡單的解釋一專下
1、成員屬變數
指代在類中,方法外 定義的 基本數據類型 稱之為 成員變數,當然了,也是可以定義對象的,那樣就稱為成員屬性。
2、局部變數
指代在方法中定義出來的變數,可以是方法內聲明的,也可以是方法的傳入參數。

再解釋你上面的情況:
private int x ; 就是 成員變數了
public Abc(int a ){this.x=a; }

這個里的 int a 是方法的參數,也是局部變數 。
而內部使用的this.x 指代的是獲取當前類的屬性,這個屬性可以是方法,可以是變數,可以是對象。
因此,這個this.x 就是獲取了成員變數的 x

而你後面的方法
public Abc(int x ){this.x=x; }

這2個 x 是不同的 一個是 局部變數 ,一個是成員變數
this的都是成員的東西~

⑵ 關於Java中構造方法中使用this的問題,新手求大神解答

this 就是指的當前對象 也就是 你例子中 Person 的對象 this(name) 相當於調用了public Person(String name) 構造函數

你應該知道 super 指的是當前對象的父類對象 你經常在 當前對象的構造函數中看到 super();
這個就是在調用 父類對象的 空函數構造方法, this() 當然就是調用當前對象的空函數構造方法了
this(name) 自然就是調用當前對象帶一個參數的構造方法

⑶ java中一般方法里的this是代表調用本方法的對象,但是構造方法里的this代表的是什麼呢。

this代表你正在構造的對象。

publicclassTest{
publicTest(){
System.out.println(this.toString());
}
publicstaticvoidmain(String[]args){
Testobj=newTest();
System.out.println(obj.toString());
}
}

輸出的兩個字元串相同(後面的數字是對象地址),說明this和obj是同一個對象。


這里this就是正在構建的CommunicationDemo的對象,作為參數傳給Thread的構造函數。


內幕是:java對象的建立其實是在構造函數開始執行之前,就是說構造函數執行的時候,被構造的對象其實已經存在了,所以構造函數中可以用this引用當前被構造的對象進行處理(比如 this.name=「Jack」)。

⑷ java中set方法和構造方法中this的作用一樣嗎

class Example {
public String e;
private String s;
public Example(String e, String s) {
this.e = e ;
this.s = s;
}
public setE(String e) {
this.e = e;
}
}
this用來作對象的成抄員變數的引用,並且跟傳入的參數(跟成員變數名字相同)相區別。
不過set方法都是聲明為public的,而構造方法在需要的情況下可以聲明為private,這種情況下只能通過set方法傳值。
而且set方法要比較靈活,可以隨時調用傳值,構造方法就只能創建對象時傳值。

⑸ 在java里的構造方法中this.x=a和this.x=x是什麼意思

我想你對java中的 成員變數和局部變數 的定義和范圍不太了解吧。
先簡單的解釋一下
1、成員變數
指代在類中,方法外 定義的 基本數據類型 稱之為 成員變數,當然了,也是可以定義對象的,那樣就稱為成員屬性。
2、局部變數
指代在方法中定義出來的變數,可以是方法內聲明的,也可以是方法的傳入參數。

再解釋你上面的情況:
private int x ; 就是 成員變數了
public Abc(int a ){this.x=a; }

這個里的 int a 是方法的參數,也是局部變數 。
而內部使用的this.x 指代的是獲取當前類的屬性,這個屬性可以是方法,可以是變數,可以是對象。
因此,這個this.x 就是獲取了成員變數的 x

而你後面的方法
public Abc(int x ){this.x=x; }

這2個 x 是不同的 一個是 局部變數 ,一個是成員變數
this的都是成員的東西~

⑹ Java里在構造方法里有一行單獨寫:this();是調用的什麼方法

this 自身 super 則是父類

⑺ java,構造方法用this作為參數調用,怎麼理解

this是當前類,當前對象。。。的意思。
回答:
1、不是構造函數 ,所有<方法名>與<類名>相同的才是。addDays是方法名,這名稱自定義的,自己喜歡什麼都行,當然最好是有意義的,例如在這里表示「添加日期」。
2、這里的this傳入是的當前類的對象,代表的就是當前這個類對象。
3、同上。
4、返回一個「生日」類對象
這樣理解:
一個叫生日(BirthDate)的類,裡面定義了日、月、年三個成員變數(int day,int month,int year)和一個構造函數(BirthDate(BirthDay date)以及一個方法(addDays)

⑻ java的構造方法裡面用this();再調用構造方法有什麼好處,有什麼用啊

java中this關鍵字有三個作用:
區別全局變數和局部變數
在方法中this表示誰調用該方法 this就代表誰
例如:public void show(){
Synchronized(this){
……}
}
同步代碼塊表示 哪個對象調用該方法 就得到哪個對象的對象鎖
構造器中this()表示調用形式參數相同的同一個類中的另一個構造器,這樣就可以代碼復用
就拿你那段代碼來說 this()就表示調用該類中 名稱是Note 形參是空的構造器 讓裡面的代碼在這個有參的構造器中再跑一遍

⑼ Java類中this();作用是什麼,只在構造方法中出現嗎

java中this關鍵字有三個作用:

  1. 區別全局變數和局部變數

  2. 在方法中this表示誰調用該方法 this就代表誰

    例如:內public void show(){

    Synchronized(this){

    …容…}

    }

    同步代碼塊表示 哪個對象調用該方法 就得到哪個對象的對象鎖

  3. 構造器中this()表示調用形式參數相同的同一個類中的另一個構造器,這樣就可以代碼復用

    就拿你那段代碼來說 this()就表示調用該類中 名稱是Note 形參是空的構造器 讓裡面的代碼在這個有參的構造器中再跑一遍


⑽ 在java中怎樣用this調用構造方法

for example:
public class YourClass{
String name;
String age;

public YourClass(String name){
this.name = name;
}

public YourClass(String name, String age){//重載的構造子
this(name);
this.age = age;
}
}