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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 番茄君   /  2016-5-10 18:46  /  15977 人查看  /  66 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

个人理解:

/*
1.区别成员变量和局部变量重名时,如下:
如果输出语句里面的num时,输出的时90,就近原则,
如果要输出10,就要用this.num
意思就是在一个方法内,如果有重名的变量,直接使用的就是局部变量,this.使用的就是成员变量
class Test {
        public static void main(String[] args) {
                        Demo d = new Demo();
                        d.print();       
        }
}
class Demo {

        int num = 10;
        public void print(){
                int num = 90;
                System.out.println(num);
        }
}

2.this代表本类对象的引用,说的通俗点就是:
  哪个对象调用了this所在的函数,this就代表这个对象。
this用途:解决局部变量隐藏成员变量的问题
*/
回复 使用道具 举报
,我刚学的时候也是和你一样,其实this是用来区分局部变量和成员就是的,如果在一个方法体里写了this.xx , 那这个xx就指向了方法体外部的那个成员变量,如果本类中没有那个变量,那就找他的父类了,而=号右边的xx就是方法体里面的变量,我是这样理解的
回复 使用道具 举报
6666666666666666666
回复 使用道具 举报
调用this这个关键字所在类的对象,比如有个学生类Student里面用到this关键字,那么它就代表学生类的对象new Student()
回复 使用道具 举报
this关键字:
1.this.方法名() , 这里this指当前对象
2.this.属性名,同理,也只当前对象。加上this的目的是为了区分 成员变量 和 局部变量
比如:public void setName(String name) {
              this.name = name;
         }
this. 后面的name 是属性name, 而后面的name是传过来的参数
3.this可以用来代码提示,不知道调用什么方法的时候,用this加个点,后面的方法名就出来了
回复 使用道具 举报
1:当成员变量和局部变量重名时,在方法中使用this时,表示的是该方法所在类中的成员变量。(this是当前对象自己)
2:把自己当作参数传递时,也可以用this.(this作当前参数进行传递)
3:有时候,我们会用到一些内部类和匿名类,如事件处理。当在匿名类中用this时,这个this则指的是匿名类或内部类本身。这时如果我们要使用外部类的方法和变量的话,则应该加上外部类的类名。
4:在构造函数中,通过this可以调用同一类中别的构造函数。
     值得注意的是:
        a:在构造调用另一个构造函数,调用动作必须置于最起始的位置。
        b:不能在构造函数以外的任何函数内调用构造函数。
        c:在一个构造函数内只能调用一个构造函数。
5:this同时传递多个参数。
以上仅仅只是个人的小认识!
回复 使用道具 举报
i'm 中级黑马 2016-9-17 23:17:02
67#
当前对象的引用,希望楼主采纳!!!
回复 使用道具 举报
1234
您需要登录后才可以回帖 登录 | 加入黑马