this 关键字

三个特点:调用本类属性,调用本类方法(普通和构造),表示当前对象(最难理解的概念)

1.使用this调用本类属性

观察如下代码

class Person{

  private string name ;

  private int age 

  // setter  getter 无参构造略

  public  Person(String name,int age)

  {   // this.属性,当前对象中的属性

    this.name = n;

    this.age = a;

  }

  public string getInfo()

  {  

    return "姓名:" + this.name + ",年龄:" + this.age ;

  }

}

public class Thisdemo{

  public static void main(String args[])

  {  

    System.out.println(new Person("张三:",20).getInfo());

  }

}

2.this 调用方法(普通和构造)

普通方法:this.方法名称(参数...)

构造方法:this(参数)

本类方法和构造方法的区别:使用关键字new实例化类新对象的时候使用一次,而普通方法是在实例化完成了(构造已经执行过了)可以调用多次,在java里面支持类构造方法的相互调用(并且要放在第一行) 使用this调用构造方法的时候请留有出口(防止递归构造调用)。

3.this表示当前对象

在一个类之中会产生若干个对象,程序类在分辨的时候不会记住具体有多少个类,只会知道操作本类的对象是哪一个

范例:观察当前对象

class Person

{

  public void fun()

  {

    System.out.println("fun()方法" + this);

  }

}

public class Thisdemo{

  public static void main(String args[])

  {

    Person p1 = new Person();

    System.out.println("man方法" + p1);

    p1.fun();  // 由p1这个对象调用了fun()方法

    System.out.println("===============");

    Person p2 = new Person();

    System.out.println("man方法" + p2);

    p2.fun(); 

  }

}

 

posted @ 2017-09-02 19:17  竹之轩  阅读(110)  评论(0编辑  收藏  举报