一. 成员变量
publicclassUser { privateStringname; publicUser(Stringname){ this.name=name; } publicStringgetName() { returnname; } publicvoidsetName(Stringname) { this.name=name;//以this来区分局部变量和成员变量 } publicStringtoString() { return"User{"+"name='"+name+'\''+'}'; } }
大家应该都用过setter的方法,里面this.name = name;假设没有this,那么如何来区分调用setter方法的对象值和参数呢?所以this调用了该对象的成员变量name,把形参的值赋予对象中的name。
二、构造方法
一个类必须拥有大于等于1的构造方法,而在构造方法中,也可以用this去调用该对象的其他构造方法。如下面代码:
publicclassUser { privateStringname; publicUser(Stringname){ this.name=name; } publicUser(){ this("ketang"); System.out.println("this在构造方法中必须放在最前面"); //放后面会报错:(编译器的规定)//Call to 'this()' must be first statement in constructor body } publicStringgetName() { returnname; } publicvoidsetName(Stringname) { this.name=name; } publicStringtoString() { return"User{"+"name='"+name+'\''+'}'; } }
构造方法中调用其他构造方法,我们可以用this来表示。
三、调用方法
this代表类的当前对象,对象可以调用方法,this也可以调用。某方法返回值为某类的时候,某个该类对象去调用该方法的时候,也可以通过return this表示返回该对象。