对象的引用----This:
概念: this关键字是一个对象的默认引用,它总是指向调用该方法的对象。
使用原因:我们在访问一个对象的成员时,一般都要通过该对象去调用。如果需要在某一个方法中访问其所属类的当前正在操作对象的成员,由于一个类的对象可以有多个,且通过这些对象都可以调用该方法,因此定义该方法时无法明确通过对象引用来指定。因此java引入this。它只能在方法体中使用,通过它可以获取当前是通过什么对象来调用该方法的。它代表的正式这个当前对象的引用。只不过大多数情况下this都可以省略,因为某一方法内直接访问属于同一类的成员时,系统会自动利用this确保方法内的成员属于当前正在被操作的对象。如:
person(int a,String b){
this.age=a;
this.name=b;
}
这时候this是可以省略的,但下面的情况是不能省略的;因为局部变量与数据成员变量重名,需要用this来区分开来:
person(int age ,String name){
this.age=age;
this.name=name;
}.
使用场合:
1)返回当前对象或者把当前对象作为参数传递给其他方法时:
public class thisPerson {
private int age;
private String name;
thisPerson person(){
age++;
name="this is me";
return this ;
}
public static void main(String args[]){
String s=new thisPerson().person().name;
System.out.print( s );
}
}
2)利用this在一个构造方法中调用所属类的另一个构造方法时:
注:在一个构造方法中,只能使用一次this来调用构造方法,并且this语句要放在构造方法的起始位置。
public class thisPerson {
private int age=1;
private String name;
thisPerson(){
age=31;
name="姚明";
System.out.println("名字是:"+name) ;
System.out.println("年龄是:"+age) ;
}
thisPerson( String sex ){
this();
System.out.print("性别是:"+sex);
}
public static void main(String args[]){
thisPerson tp=new thisPerson( "男" );
}
}