this关键字
当成员变量和局部变量重名,可以用关键字this来区分。
简单来说,哪个对象调用了this所在的函数,this就代表哪个对象。
class Person {
private String name;
private int age;
Person2(String name) {
this.name = name;
}
public void speak() {
System.out.println(this.name + ", " + this.age);
}
}
public class TestMain {
public static void main(String[] args) {
Person p = new Person("旺财");
p.speak();
Person p1 = new Person("小强");
p1.speak();
}
}
以上为初始化过程。
以下为调用speak( )
class Person {
private String name;
private int age;
Person() {
this.name = "baby";
this.age = 1;
System.out.println("Person Run");
}
Person(String name) {
this.name = name;
}
public Person(String name, int age) {
this(name);
this.age = age;
}
public void speak() {
System.out.println(this.name + ", " + this.age);
}
/**
* 判断是否同龄
*
* @param p
* @return
*/
public boolean compare(Person p) {
return this.age == p.age;
}
}
public class TestMain {
public static void main(String[] args) {
Person p = new Person("旺财");
p.speak();
Person p1 = new Person("小强");
p1.speak();
}
}