在java的程序里以“{}”为界限,如果没有加入任何的限制,重名变量指的都是最近的“{}”内的变量名称。当在这种情况下,为了可以明确的找到要访问的变量属于类中的属性的时候,我们需要在变量名称前加this
例如: [Java] 纯文本查看 复制代码 class ff
{
private String ss; //位置1
public void ff (String ss){
//这里的this.ss指的是位置1出的ss,而后面的ss指的是构造函数里面传过来的ss
this.ss = ss;
}
}
}[/mw_shl_code]建议在java开发中,所有使用的类中的变量都要加上this.。
[Java] 纯文本查看 复制代码 class ff
{
public void print()
{
System.out.println("");
}
public void ff (String ss){
this.print();
}
}
虽然上例中的this加过着不加都可以,但是在这里建议都加上;
this还可以在一个类中调用本类的构造方法,形式如下:
[Java] 纯文本查看 复制代码 this();
this(参数);
this(参数,参数);
...
这种调用常用在构造方法之间的互相调用,在特定情况下,使用好的话可以大大减小重复代码的出现; 需要注意的是: 在使用this()调用构造方法的时候代码只能放在u早方法的首行。 在使用this()在构造方法之间相互调用的的时候,一定要保留调用出口 - this 表示当前对象
在一个类里面this (不加任何参数和括号)这个时候this表示调用这个类的对象,即表示当前对象;
[Java] 纯文本查看 复制代码 class ff
{
public void print()
{
//这个时候this表示的是当前对象,即输出的是调用这个方法的对象的物理内存地址
System.out.println(this);
}
}
|