您的位置:首页 > 编程语言 > Java开发

java中this关键字的作用

2016-09-07 11:23 260 查看
this到底代表什么呢?★★★★★

this就代表对象,代表哪个对象呢?哪个对象调用了this所在函数,this就代表哪个对象。

当构造函数之间进行互相调用时,该如何解决呢?

构造函数是对象初始化时调用的。

给哪个对象初始化呢?通过this关键字来记录住对象的地址。并通过this来明确被初始化的对象。

在构造函数中调用其他构造函数的格式: this(实参列表);就会调用对应的构造函数。

this关键字的另一个作用:

可以用this标识哪个变量是成员变量。这个标识可以省略不写。

但是,当局部变量和成员变量同名时,必须用this.来标识成员变量。

一个例子TestThis.java

public class TestThis {
public static void main(String[] args) {
Person2 p = new Person2(10,"daming");
p.show();
Person2 p1 = new Person2(20);
p1.show();
}
}
class Person2{
private int age;
private String name;

Person2(){
System.out.println("调用了无参构造函数");
}

Person2(int a){
this();
age = a;
System.out.println("调用了有参构造函数包含年龄"+"age="+age);
}
Person2(int a,String n){
this(a);
age = a;
name = n;
System.out.println("调用了有参构造函数包含年龄和名称"+"age="+age+"--"+"name="+name);
}

void show(){
System.out.println("调用了有参构造函数void---"+"age="+age+"--"+"name="+name);
}
}
/*
p.show();
调用了无参构造函数
调用了有参构造函数包含年龄age=10
调用了有参构造函数包含年龄和名称age=10--name=daming
调用了有参构造函数void---age=10--name=daming
p1.show();
调用了无参构造函数
调用了有参构造函数包含年龄age=20
调用了有参构造函数void---age=20--name=null
*/


参考博客:http://blog.csdn.net/anmei2010/article/details/4091227
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JavaSE