黑马程序员技术交流社区
标题:
this关键字代表什么?
[打印本页]
作者:
黄诗宾
时间:
2013-3-18 23:24
标题:
this关键字代表什么?
本帖最后由 黄诗宾 于 2013-3-19 15:02 编辑
this
关键字代表什么?
哪位大大解释的通俗易懂点 不太理解
作者:
边道坚
时间:
2013-3-18 23:31
his关键字表示的是“当前对象”,当出现在类的实例方法中,代表的是调用该方法的对象;当出现在类的构造方法中时,代表的是调用该构造方法创建的对象。在下列两种情况下,必须使用this:
方法的形式参数与类的成员变量同名:
例如:
class Person{
String name;
int age;
public Person(String name, int age){
this.name=name;
this.age=age;
}
}
一个类中的构造器调用同一个类中的另一个构造器:
调用的方法:
this([参数列表]) //处于构造器的第一行位置上
例如:
class Person{
String name;
int age;
public Person(String name){
this.name=name;
}
public Person(String name, int age){
this(name); //调用另一构造器,必须放在第一条语句位置上
this.age=age;
}
}
不知你可不可以理解
作者:
黑马-李嘉欣
时间:
2013-3-18 23:38
一句话:this变量代表对象本身。
this关键字主要有三个应用:
一、this调用本类中的属性,也就是类中的成员变量。
二、this调用本类中的其他方法;
三、this调用本类中的其他构造方法,调用时要放在构造方法的首行。
希望对你有帮助~
作者:
续圆凯
时间:
2013-3-18 23:42
this关键字表示的是“当前对象”,当出现在类的实例方法中,代表的是调用该方法的对象;当出现在类的构造方法中时,代表的是调用该构造方法创建的对象。
This关键字的使用,包括引用成员变量、调用类的构造方法等知识。
一般情况下,在Java语言中引用成员变量或者成员方法都是以对象名.成员变量或者对象名.成员 方法的形式。不过有些程序员即使在没有相同变量的时候,也喜欢使用this.成员变量的形式来引用变量 。这主要是从便于代码的阅读考虑的。
this关键字除了可以引用变量或者成员方法之外,还有一个重大的作用就是返回类的饮用。如在 代码中,可以使用return this,来返回某个类的引用。此时这个this关键字就代表类的名称。
作者:
黑马-王鹏
时间:
2013-3-18 23:51
this关键字:用于区分局部变量和成员变量同名的情况,代表它所在函数所属对象的引用。
也就是哪个对象在调用this所在的函数,this就带表哪个对象。
this的应用:当定义类中功能时,该函数内部要用到该函数的对象时,这时就用this来表示这个对象
但凡本类功能内部使用本内对象时,都用this表示。
class Person
{
private String name;
private int age;
Person(int age)
{
this.age = age;//这里的this用于区分成员变量和局部变量
}
Person(String name)
{
this.name = name;
}
Person(String name,int age)
{
this.name = name;
this.age = age;
}
public void speak()
{
System.out.println("name="+this.name+"...age="+this.age);
this.show();//this可以省略不写
}
public void show()
{
System.out.println(this.name);//this可以省略不写
}
//需求:给人定义一个用于比较年龄是否相同的功能。
public boolean compare(Person p)
{
return this.age==p.age;//this代表b1,
} //哪个对象调用compare函数就代表哪个对象
}
class PersonDemo3
{
public static void main(String[] args)
{
Person p1 = new Person(20);
Person p2 = new Person(25);
boolean b = p1.compare(p2);
System.out.println(b);
//Person p = new Person("lisi");
//p.speak();
}
}
复制代码
this关键字在构造函数中的应用
this语句 :用于构造函数之间进行互相调用。
this语句只能定义在构造函数的第一行。因为初始化要先执行。
class Person
{
private String name;
private int age;
{
System.out.println("年龄");
}
Person()
{
System.out.println("姓名");
}
Person(String name)
{
this();
this.name =name;
}
Person(String name,int age)
{
this(name);//this调用构造函数必须放在第一行。因为初始化要先执行
this.age = age;
}
}
class PersonDemo4
{
public static void main(String[] args)
{
Person p = new Person("lisi",30);
}
}
复制代码
作者:
罗威
时间:
2013-3-18 23:53
有一句很通俗的理解就是,哪个对象调用 this 所在的函数 this就代表哪个对象!
还要记住一点:他是因为对象的存在才存在的,没有对象就不能有this;所以静态中不允许有this;因为被静态修饰的比对象先被加载进内存!
通俗点就是::先进内存的不能调用后进内存的!
其他关于用法 楼上的各位哥们 都已经讲的很详细了!
作者:
祁振朋
时间:
2013-3-19 00:10
this关键字除了在构造函数中调用其他构造函数以外,还可以当做一个引用来使用。其用于方法中,哪个对象调用该方法,this就引用哪个对象。例如:
方法中局部变量和成员变量重名,我们想调用成员变量时就可以使用this.变量名形式访问成员变量。
在方法中要将调用该方法的对象作为参数传递给另一个方法时,可以将this作为实参传给该方法。
在内部类中访问外部类的成员时,需要使用外部类名.this.成员名形式访问。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2