1 class Person{
2 private String name;
3 private int age;
4
5 Person(){
6 System.out.println("run");
7 }
8 Person(String name){
9 this.name = name;
10 }
11 }
/*
this:看上去,是用于区分局部变量和成员变量同名情况。
this为什么可以解决这个问题?
this到底代表的是什么呢?
this就代表本类的对象,到底代表哪一个呢?
this代表它所在函数所属对象的引用。
简单说,哪个对象在调用this所在函数,this就代表哪个对象。
/*
需求:给人定义一个用于比较年龄是否相同的功能,也就是是否是同龄人。
*/
*/
class Person{
private String name;
private int age;
Person(){
System.out.println("run");
}
Person(String name){
this.name = name;
}
public boolean compare(Person p) {
if(this.age==p.age) {
return true;
}
return false;
}
}
public class PersonDemo1 {
public static void main(String[] args) {
Person p = new Person("lili");
Person p2 = new Person("zhangsan");
boolean b= p.compare(p2);
}
}
this语句:用于构造函数之间进行相互调用。
this语句只能定义在构造函数的第一行,因为初始化要先执行。
Person(){
System.out.println("run");
}
Person(String name){
this.name = name;
}
Person(String name,int age){
this(name);
this.age = age;
}