/*
《构造函数》例子中为了增加代码可读性,在构造函数Person(String n)--->Person(String name),这里就要用this
1.当成员变量和局部变量重名,可以用 this 来区分
2.this 就代表对象,代表当前对象。this就是所在函数,所属对象的引用
简单说:哪个对象调用了this所在的函数,this 就代表哪个对象
*/
public class Person {
private String name;
Person()
{
name="婴儿";
System.out.println("没起过名字,孩子默认的出生名字是“"+name+"”");
}
Person(String name) //这里的name是局部变量的name,没进栈
{
this.name=name; //这个对象的name,应对局部变量和成员变量重名了
System.out.println("这孩子是带着"+name+"的名字出生的");
}
public void speak()
{
System.out.println("这孩子自己说话了,他说:“我的名字是"+name+"”");
}
}
class PersonDemo{
public static void main(String[] args){
Person p1=new Person();
p1.speak();
Person p2=new Person("天神下凡");
p2.speak();
}
}