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

javaSE-面向对象-this关键字

2014-02-23 18:11 274 查看

this关键字

特点:this代表其所在函数所属对象的引用。

换言之:this代本类对象的引用。

什么时候使用this关键字呢?

当在函数内需要用到调用该函数的对象时,就用this。

例程。

this用法一

class Person {
private String name;
private int age;

Person() {

}

/*
* this:代表的是对象。其实就一个对象的引用。 它代表哪个对象呢? 哪个对象调用了this所在的函数,this就代表哪个对象。
*
* this的使用之一:当成员变量和局部变量同名时,可以用this来区分。
*/

Person(String name, int age) {
this.name = name;
this.age = age;
}

void speak() {
System.out.println("name=" + this.name + ",age=" + this.age);
}

void show() {
this.speak();
}
}

class ThisDemo {
public static void main(String[] args) {
Person p = new Person("小明", 24);
Person p1 = new Person("旺财", 28);
p.speak();
p1.speak();

p.show();
}
}




this第二个用法

class Person
{
private String name;
private int age;

Person()
{

}

/*
this:代表的是对象。其实就一个对象的引用。
它代表哪个对象呢?
哪个对象调用了this所在的函数,this就代表哪个对象。

this的使用之一:当成员变量和局部变量同名时,可以用this来区分。
this的使用之二:使用this(参数列表)的方式就可以实现构造函数之间的调用。
注意:构造函数之间调用时,this语句只能定义在构造函数的第一行。

*/
Person(String name)
{
this.name = name;
}

Person(String name,int age)
{
this(name);//必须是第一行。为什么呢?因为初始化动作必须先执行。
//		this.name = name;
this.age = age;
}
void show()
{
this.speak();
}
void speak()
{}

}

class ThisDemo2
{
public static void main(String[] args)
{
Person p = new Person("小明",24);
Person p1 = new Person("旺财",28);
}
}

用法三

class Person
{
private int age;
Person(int age)
{
this.age = age;
}

/*
定义一个功能。用于比较。两个人是否是同龄人。
明确1:结果:boolean
明确2:参数: 一个,Person

当功能内部使用到了本类对象时,用this表示。

*/
public boolean compare(Person p)
{
/*
if(this.age==p.age)//
return true;
else
return false;
*/
return this.age == p.age;
}
}

class ThisDemo3
{
public static void main(String[] args)
{
System.out.println("Hello World!");
Person p1 = new Person(23);
Person p2 = new Person(35);
p1.compare(p2);

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: