黑马程序员技术交流社区

标题: 谁能解释一下 [打印本页]

作者: 剪爱    时间: 2014-5-12 21:00
标题: 谁能解释一下
this关键字的使用范围:'({:2_30:}
作者: 倪大大    时间: 2014-5-12 21:11
this关键字准备来说可以用在任何地方,它永远指向你所用this关键字代码所在的类,指向本类对象.
作者: 李小然    时间: 2014-5-12 21:23
this关键字的使用范围

首先,this是什么?
答:this是所在函数所属对象的引用。简单而言,this代表对象。哪个对象?该类的对象。

this的范围:1.当成员变量与局部变量相同时,可以使用this关键字调用成员变量。
  1. class Demo
  2. {
  3.         //成员变量x
  4.         int x;
  5.        
  6.         //局部变量x
  7.         Demo(int x)
  8.         {
  9.                 //因为成员变量与局部变量x名字相同 所以下面这句话 不会改变成员变量的值
  10.                 x = x;
  11.                
  12.                 //this.x代表成员变量x 这句话可以将局部变量x的值赋给成员变量x
  13.                 this.x = x;
  14.         }
  15. }
复制代码

2.构造函数与构造函数的调用,可以使用this

  1. class Demo
  2. {
  3.         Demo(String name){}
  4.        
  5.         Demo(String name, int age)
  6.         {
  7.                 //这里如果调用Demo()函数时,用this(args)调用。且必须在第一句调用(初始化必须先开始)
  8.                 this(name);
  9.         }
  10. }
复制代码

3.实际上,当本类中用到本类的成员变量(成员与函数),前面都有this,一般省略不写。
  1. class Demo()
  2. {
  3.         //定义成员变量x
  4.         int x;
  5.        
  6.         Demo(int y)
  7.         {
  8.                 //下面两句话是一样的,第二句省略this变为第一句。
  9.                 x = y;
  10.                 this.x = y;
  11.         }
  12. }
复制代码

还有任何疑问,回帖我继续给你解释。:)

作者: 志ぁ才☆博ぁ成    时间: 2014-5-13 18:17
楼上的说的很对!
作者: cqdouble    时间: 2014-5-13 18:30
this关键字主要用在类中,用于区分局部变量和成员变量同名的情况。
class   Person
{
   private String name;
   Person(String name)
   {
      this.name=name;//这种情况就要用this关键字
    }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2