1.引用成员变量
/**
public class Glz{
private int a;
public Glz (int a){
this.a =a;
}
public int getA(){
return a;
}
public void setA (int a){
this.a=a;
}
}
在代码的构造方法和setA方法内部,都是用this.a引用类的成员变量。因为无论在构造方法还是setA方法内部,都包含2个变量名为a的变量,一个是参数a,另外一个是成员变量a。因为在构造方法还是setA方法内都包含2个变量名为a的变量,一个是参数a,另外一个是成员变量a。按照Java语言的变量作用范围规定,参数a的作用范围为构造方法或方法内部,成员变量a的作用范围是类的内部,这样在构造方法和setA方法内部就存在了变量a的中途,Java语言规定当变量作用范围重叠时,作用域小的变量覆盖作用域大的变量。所以在构造方法和setA方法内部,参数a起作用。
2. 引用构造方法
/**
public class Glz{
int a;
public Glz(){
this(110);
}
public Glz(int a){
this.a=a;
}
}
在改代码中不带参数的构造方法内部,使用this调用了另一个构造方法,其中只能用一次,且必须为构造器下第一行。
构造方法中的110代表调用带有参数的构造方法,并且参数为int类型。如果还有带有两个参数的,则选择参数类型符合,且参数数量一致的构造方法。
3 this代表对象本身
/**
public class Glz{
glz object instance;
public Glz(){
instance =this;
}
public vois Glztest(){
system.out.println(this);
}
}
在该代码中构造方法内部,将对象的值赋值给instance,在 Glztest方法中输出对象this的内容,代表自身类型的对象