黑马程序员技术交流社区

标题: 请问以下代码(毕老师的)this.name代表的是成员变量吗? [打印本页]

作者: 黑马-李权88    时间: 2014-12-25 00:38
标题: 请问以下代码(毕老师的)this.name代表的是成员变量吗?
class Student
{
        private String name;
        private int age;
        private static String country;

        public Student(String name,int age,String country)
        {
                this.name = name;
                this.age = age;
                this.country = country;
        }
作者: 些许    时间: 2014-12-25 00:49
this代表谁调用了或者初始化了这个模块的对象
作者: 叫我小强    时间: 2014-12-25 20:22
上面的代码是构造函数中的局部变量和类中的成员变量名称相同了,所以用this进行区分,this代表本类对象的引用,this.name = name 就是把构造函数中形式参数的name赋值给成员变量的name,如果不用this进行区分的话,那么这两个name就都是局部变量,在栈内存中就会消失,所以赋值会失败,如果想不通,那就想成这样 name = n
作者: liuhao0324    时间: 2014-12-26 12:42
谁调用,就是指的是谁
作者: duluhua    时间: 2014-12-26 13:14

class Student
{
        private String name;
        private int age;
        private static String country;
        private String sex;

        public Student(String name,int age,String country,String gender)//方法内声明的变量是局部变量,当局部变量与成员变量重名时,在方法内使用成员变量的时候需要进行区分,用this.成员变量名   来表示成员变量。this代表的含义是当前类的对象的引用。
        {
                this.name = name;//this.name  = private String name (是类成员变量)       name = String name(方法内声明的局部变量)
                this.age = age;
                this.country = country;
                sex = gender;//这里的性别局部变量与成员变量没有成名,所有不用使用this.sex  ,但是如果使用了this.sex=gender  这也是没有错误的。
        }
作者: kk8023    时间: 2014-12-26 14:23
代表的是对象
作者: FINE    时间: 2014-12-26 14:40
this 关键字用于区分成员变量和局部变量同名的情况,它代表成员变量是一种宽泛的说法。用毕姥爷的话讲叫做:“那个对象调用this所在的函数,this就代表那个对象。”
作者: enjoy    时间: 2014-12-26 16:39
个人理解this代表这个类对象。在方法里面使用this则是new的对象是this。局部变量在方法里面,所以不能用对象调用到。类里面只能有变量,和方法。局部变量在方法中所以局部变量的使用权在于方法。
作者: abathe    时间: 2014-12-26 16:50
实例化Student(String name,int age,String country)这一构造函数的对象即是this所指
作者: Hello_Boys    时间: 2014-12-26 17:03
方法内声明的变量是局部变量,外面的成员变量,局部变量与成员变量重名时,使用这种方式进行区分,this.成员变量名表示当前对象的成员变量。
作者: 只会金克斯    时间: 2014-12-26 22:34
。。。。。。。。。。。。。
作者: 任我行_2014    时间: 2014-12-26 22:46
是的,这是带参构造方法给成员变量赋值写法
作者: reyzarc    时间: 2014-12-26 22:46
代表本类对象的引用……藤椅很详细
作者: 任我行_2014    时间: 2014-12-26 22:47
是的,这是带参构造方法给成员变量赋值写法




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