Java中的this强调的是本类中的方法,除此外还有以下作用:
1.表示类中的属性
2.可以使用this调用本类的构造方法
3.this表示当前对象
eg.表示类中的属性:
class Person{
private String name;
private int age;
public Person(String name,int age){ //构造方法;
this.name=name;
this.age=age;
}
public void toString(){
System.out.println("姓名:"+this.name+",年龄:"+this.age);
}
}
eg.使用this调用构造方法
class Person{
private String name;
private int age;
public Person(){ //无参构造方法;
System.out.println("新对象实例化");
}
public Person(String name){
this(); //调用无参构造方法;
this.name=name;
}
public Person(String name,int age){ //构造方法;
this(name); //调用只有一个参数的构造方法;
this.age=age;
}
}
注意:this()调用构造方法的语句只能放在构造方法的首行。
eg.this表示当前对象:
class Person{
private String name;
private int age;
public Person(String name,int age){
this.name=name;
this.age=age;
}
public boolean compare(Person per){
Person p1=this; //当前的对象,就表示per1;
Person p2=per; //传递进来的对象,就表示per2;
if(p1==p2){ //判断是不是同一个对象,用地址比较
return true;
}
if(p1.name.equals(p2.name)&& p1.age==p2.age){
return true; //两个对象相等;
}else{
return false;//两个对象不相等;
}
}
}
注意:地址相等,则两个对象相等,如果地址不相等,则依次判断每一个属性的内容来判断是否相等。