黑马程序员技术交流社区
标题:
this关键字用法?
[打印本页]
作者:
langmb
时间:
2015-3-13 10:20
标题:
this关键字用法?
本帖最后由 langmb 于 2015-3-16 00:16 编辑
this关键字,在构造函数中调用其他构造函数时,感觉都点迷糊啊,谁能解释下啊
作者:
冯林01
时间:
2015-3-13 10:55
构造函数:函数名与类名相同,其他的构造函数那就是重载。this用于区分局部变量和成员变量同名的情况,代表他所在函数所属对象的引用。简单说,哪个对象在调用this所在的函数,this就代表那个对象。
作者:
gaopeng868988
时间:
2015-3-13 10:58
this 就是表示那个对象调用 就带表是那个对象。
作者:
杨强彪
时间:
2015-3-13 11:21
this在的那个构造函数,是指那个当前初始化的对象。该构造函数若调用了其它构造函数则调用其它函数的如this(name)只能放在第一个语句。因为这个this代表初始化中初始化的对象。必须要有先后关系,程序才结实
作者:
火七君
时间:
2015-3-13 11:35
this代表它所在函数所属对象的引用。
简单说:哪个对象在调用this所在的函数,this就代表哪个对象。
this的应用:
当定义类中功能时,该函数内部要用到调用该函数的对象时,这时用this来表示这个对象。
但凡本类功能内部使用到了本类对象,都用this表示。
this语句:
用于构造函数之间进行互相调用。如:this(name);
thi语句只能定义在构造函数的第一行。因为初始化要先执行。
对this的概括总结:
this的两种用法:1、用于区分同名变量的情况,说的成员和局部同名的时候;2、用于构造函数间调用。
注:一般函数不能直接调用构造函数,因为this语句不能用在一般函数中,只能用在构造函数间。
class Person
{
private String name;
private int age;
Person(int age)//局部变量时age,成员变量也是age
{
this.age = age;//this能够很好区分
}
Person(String name)
{
this.name = name;//这里用this表示调用构造方法的对象
}
Person(String name,int age)
{
this.name = name;
this.age = age;
}
public void speak()
{
System.out.println("name="+name+"...age="+age);
show();
}
public void show()
{
System.out.println(this.name);
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2