this关键字

this的作用:

            1. 构造函数之间的调用要用到this。

            2. 可以用this标识哪个变量是成员变量,这个标识可以省略不写。但是,当局部变量和成员变量同名时,必须用this.来 标识成员变量。

public class Person {
	private String name;
	private int age;

	public void speak() {
		String name="HAHA";
		System.out.println("name="+this.name+",age="+this.age);//this.name为成员变量的name
		
		System.out.println("name="+name+",age="+this.age);//此时的name为speak的局部变量name="HAHA"
	}
}

参数和局部变量同名时,要用this。如下面这个例子:

public class Person {
	private String name;
	private int age;

	Person(String name,int age)
	{
		name=name;//这相当与参数name给自己赋值。所以成员变量根本没有赋上我们想让它赋的值。所以应该改成this.name=name,下面的age也是。
		age=age;
	}
	
	public void speak() {
		System.out.println("name="+this.name+",age="+this.age);
	}
}

结果:name=null,age=0

练习:判断是否两人为同龄人。

public boolean equalsAge(Person pp)
	{
		if(pp.age==this.age)
			return true;
		else
			return false;
	}

   其实上面可以写简单点:

public boolean equalsAge(Person pp)
	{

		return pp.age==this.age?true:false;
		
	}

还可以更简洁:

public boolean equalsAge(Person pp)
	{
		return pp.age==this.age;
		
	}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章