java this关键字

this语句只能用于构造函数之间,不能用于一般函数中。

this关键字:看上去,是用于区分成员变量和局部变量同名的情况。
(1)如果成员变量和局部变量同名,那么在函数中只识别成员变量中的。
this:就代表本类的对象,但是到底代表哪一个呢?
this就代表它所在函数所属对象的引用。
简单说:哪个对象在调用this所在的函数,this就代表哪个对象。

this关键字的应用:当定义类中功能时,该函数内部要用到调用该函数的对象时,这时用this来表示这个对象。
但凡本类功能内部使用了本类对象,都用this来表示。
**********************************************
(2)this“语句”:用于构造函数之间进行互相调用。

this语句只能定义在构造函数的第一行,理论根据是:先初始化再改变变量值。因为初始化要先执行。
class Person 
{
	private String name;
	private int age;

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

	Person(String name,int age){
		this(name);//用this语句来代替this.name=name,其实this(name)调用的是上一个构造函数;
		this.age=age;
	}
	
	public void show()
	{
		System.out.println("name:"+name+",age:"+age);
	}
	
	//比较两个人是否同龄
	public boolean compare(Person p){
		return this.age==p.age;
	}
}

class PersonDemo3
{
	public static void main(String[] args){
		Person p1=new Person("zhangsan");
		Person p2=new Person("lisi",34);
		Person p3=new Person("wangwu",20);
		boolean flag=p2.compare(p3);
		if(flag){
			System.out.println("yes");
		}
		else{
			System.out.println("no");
		}
		//p1.show();
		//p2.show();
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值