JAVA代码关于“this”关键字

来源:百度知道 编辑:UC知道 时间:2024/06/21 02:22:17
先看看代码
class Person
{
private String name ;
private int age ;
public Person(String name,int age)
{
this.name = name ;
this.age = age ;
}
public void change(Person p)
{
p.name = "李四" ;
p.age = 50 ;
}
public void print()
{
System.out.println("姓名:"+this.name) ;
System.out.println("年龄:"+this.age) ;
}
};
public class OODemo18
{
public static void main(String args[])
{
Person p = new Person("张三",30) ;
p.change(p) ;
p.print() ;
}
};
刚学JAVA,对this关键字掌握的不是很好,请前辈帮忙解释一下这段代码呗!
主要是最后两个方法的调用,和前面Person类里面的change方法是怎么回事啊,把我学糊涂了,呵呵!先谢谢大家啊!

public void change(Person p)
这个方法要求传递一个Person类的对象作为参数,
在mian方法中,把p传递进去,然后在change方法内部,把该对象的name和age属性重新赋值.

构造方法里自己调用对象本身的变量可以用this加点号与变量名来代替。注意:变量是自身的,才可以用this.

Person类有个方法就是change(p)他的作用是将person类自带的一个属性值(name=李四,age=50)复制给目标实例p,Person p = new Person("张三",30) ;
p.change(p) ;
这个就是将p本身的属性值改为name=李四,age=50。

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

由于你定义的全局的变量和你传入的参数名字一样, 这时就需要用this. 指明这个NAME是全局的那个。