java(六)【面向对象】this关键字

this关键字

this:代表本类的对象。this代表它所在函数所属对象的引用

简单说:哪个对象在调用this所在的函数,this就代表哪个对象

 1 //this看上去是用于区分局部变量和成员变量同名情况
 2 class person{
 3     private String name;
 4     private  int age;
 5     person(String name)
 6     {
 7         this.name = name;
 8     }
 9  public void speak()
10  {
11      System.out.println("name="+name+",age="+age);
12  }
13 }
14 public class qwe {
15 
16     public static void main(String[] args) {
17         person p1=new person("lolo");
18         p1.speak();
19     }
20 }

 this的应用:当定义类中功能时,该函数内部要用到调用该函数的对象时,这时用this来表示这个对象

      但凡本类功能内部使用了本类对象,都用this表示

 1 class person{
 2     private  int age;
 3     person (int age)
 4     {
 5         this.age = age; 
 6     }
 7     //需求:给人定义一个 用于比较年龄是否相同的功能,也就是是否是同龄人
 8 public boolean campare (person p)
 9 {
10         return this.age==p.age;
11     }
12 }
13 public class qwe {
14     public static void main(String[] args) {
15         person p1 = new person(20);
16         person p2 = new person(20);
17         boolean b = p1.campare(p2);
18         System.out.println(b);
19 
20     }
21 }

 this语句用法:

  1.   用于构造函数之间互相调用
  2.   用于区分局部变量和成员变量同名情况

this函数只能定义在构造函数的第一行

 1 class person{
 2     private  int age;
 3     private  String name;
 4     person()
 5     {
 6         //this ("hah");  不允许存在
 7     }
 8     person (int age)
 9     {
10         this();
11         this.age = age; 
12     }
13     person (int age,String name)
14     {
15         this(age);    //初始化函数
16         this.name=name;
17     }
18 }
19 public class qwe {
20     public static void main(String[] args) {
21         person p1 = new person(20,"qqq");
22     }
23 }

 

posted @ 2015-08-06 10:07  花花妹子。  阅读(113)  评论(0编辑  收藏  举报