黑马程序员技术交流社区

标题: this关键字详解 [打印本页]

作者: Cyborg    时间: 2018-4-3 14:35
标题: this关键字详解

在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()在构造方法之间相互调用的的时候,一定要保留调用出口

[Java] 纯文本查看 复制代码
class ff
{
    public void print()
    {
    //这个时候this表示的是当前对象,即输出的是调用这个方法的对象的物理内存地址
    System.out.println(this);
    }
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2