强悍的蒙古人---王志亭

1,java 中的  this  关键字的引用

   java中提供了一个this关键字,是对象的默认引用,this 关键字总是指向调用该方法的对象。

根据this出现位置的不同,this作为对象的默认引用有两种情形:

(1),构造器中引用该构造器执行初始化的对象。

(2),在方法中引用  调用该方法的对象

2,this关键字最大的作用就让类中一个方法,访问该类的另一个方法或属性。

//创建一个类

public class Dog{

          //创建一个方法

         public void jump(){

               System.out.print("你好")

         }

          //在创建一个方法来调用第一个方法

          public void run(){

               //使用this来调用第一个方法,不需要再创建一个对象来调用方法

                this.jump();

               System.out.print("你好")

         }

}

(*)注意:这里this调用的是当前类中的方法,所以this表示的是当前类中的方法。谁在用this,那就代表谁。**上面的例子中this可以省略。(this.jump()可以改成   jump() )。

 3,

   对于static 修饰的方法而言,则可以使用类名“.”来调用方法。如果用static修饰的方法中使用this关键字,则这个关键字就无法指向合适的对象。所以,static修饰的方法中不能使用this引用。由于static修饰的方法中不能使用this引用,所以static修饰的方法不能访问不使用static修饰的普通成员。    

4,this引用也可以用于构造器中作为默认引用,由于构造器是直接使用new关键字来调用,而不是使用对象来调用所以this 在构造器中引用的是该构造区进行初始化的对象。

public class  Dog{
            //定义一个name属性
           public String name;
           public Dog(){
                String name=null;
                this.name="王铮";   
           }
public static void main(String[] args){

         System.out.print(new Dog().name);

}

}        

  在以上代码中this引用时,总是引用该构造器中的初始化对象,所以程序最后的结果是:王铮。如果程序中的构造方法中有局部变量,那么必须使用this。正常情况下this是可以省略的。

 

原文地址:https://www.cnblogs.com/bb1008/p/6755526.html