强悍的蒙古人---王志亭
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是可以省略的。