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;
}
}