首页 > 代码库 > this关键字

this关键字

思考:如果同一个类的两个对象调用类的同一个方法,如何才能让这两个对象都能调用此方法。为了能用简便、面向对象的语法编写代码——即“发送消息给对象”,编译器幕后将所操作对象的引用作为第一个参数传递给被调用方法。

1. 作用:

   1.1  表示当前对象的引用: (this的用法和其它对象引用并没有不同)

               this.本类中的方法:可以调用本类中的方法。(在本类中也可以省略this关键字,编译器会自动帮助添加。)

               this.本类的域名:可以表示当前对象的该域。

    注意:当只有明确需要指出当前对象的引用时才需要使用this关键字。eg:当需要返回当前对象的引用时,可以使用return this

public class Leaf {    int i = 0 ;    Leaf increment(){        i++ ;        return this ;    }    public static void main(String[] args) {        Leaf l = new Leaf() ;        l.increment().increment().increment() ;        System.out.println(l.i);    }}

   1.2 表示构造器:必须放在最起始的位置,否则编译会报错。除构造器外,编译器禁止在其他任何方法中调用构造器。

 static :

   static方法就是没有this的方法,在static方法中不能调用非static方法,反过来是可以的。由于不存在this,所以不是通过“向对象发送消息”的方式来完成的。