A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Cyborg 初级黑马   /  2018-4-3 14:35  /  695 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  • 功能1:调用别列中的变量

在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.。


  • 功能2:调用本类中的方法
[Java] 纯文本查看 复制代码
class ff
{
    public void print()
    {
        System.out.println("");
    }
    public void ff (String ss){
        this.print();
    }
}

虽然上例中的this加过着不加都可以,但是在这里建议都加上;
  • this调用本类的构造方法
this还可以在一个类中调用本类的构造方法,形式如下:
[Java] 纯文本查看 复制代码
this();
this(参数);
this(参数,参数);
...

这种调用常用在构造方法之间的互相调用,在特定情况下,使用好的话可以大大减小重复代码的出现;

需要注意的是:

在使用this()调用构造方法的时候代码只能放在u早方法的首行。

在使用this()在构造方法之间相互调用的的时候,一定要保留调用出口

  • this 表示当前对象
    在一个类里面this (不加任何参数和括号)这个时候this表示调用这个类的对象,即表示当前对象;

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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马