A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ZhangHeng 中级黑马   /  2015-7-6 21:02  /  515 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

大家先看一个小程序:
  1. class Person  
  2. {  
  3.     private String name;  
  4.     private int age;  
  5.     Person(int age)//局部变量时age,成员变量也是age  
  6.     {  
  7.         this.age = age;//this能够很好区分  
  8.     }  
  9.     Person(String name)  
  10.     {  
  11.         this.name = name;//这里用this表示调用构造方法的对象  
  12.     }  
  13.     Person(String name,int age)  
  14.     {  
  15.         this.name = name;  
  16.         this.age = age;  
  17.     }  
  18.   
  19.     public void speak()  
  20.     {  
  21.         System.out.println("name="+name+"...age="+age);  
  22.         show();  
  23.     }  
  24.     public void show()  
  25.     {  
  26.         System.out.println(this.name);  
  27.     }  
  28. }  
复制代码

以上程序综合了构造函数和this的用法。看上去,是用于区分局部变量与成员变量同名情况。
       this代表它所在函数所属对象的引用。
       简单说:哪个对象在调用this所在的函数,this就代表哪个对象。

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

this语句:
       用于构造函数之间进行互相调用。如:this(name);
        thi语句只能定义在构造函数的第一行。因为初始化要先执行。

对this的概括总结:
      this的两种用法:
             1、用于区分同名变量的情况,说的成员和局部同名的时候;
             2、用于构造函数间调用。

注:一般函数不能直接调用构造函数,因为this语句不能用在一般函数中,只能用在构造函数间。

1 个回复

倒序浏览
总结的不错赞一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马