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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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;
        }

评分

参与人数 1黑马币 +3 收起 理由
杨佳名 + 3

查看全部评分

13 个回复

倒序浏览
this代表谁调用了或者初始化了这个模块的对象
回复 使用道具 举报
上面的代码是构造函数中的局部变量和类中的成员变量名称相同了,所以用this进行区分,this代表本类对象的引用,this.name = name 就是把构造函数中形式参数的name赋值给成员变量的name,如果不用this进行区分的话,那么这两个name就都是局部变量,在栈内存中就会消失,所以赋值会失败,如果想不通,那就想成这样 name = n

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

回复 使用道具 举报
谁调用,就是指的是谁
回复 使用道具 举报

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  这也是没有错误的。
        }

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

回复 使用道具 举报
kk8023 来自手机 中级黑马 2014-12-26 14:23:30
地板
代表的是对象来自: iPhone客户端
回复 使用道具 举报
FINE 中级黑马 2014-12-26 14:40:55
7#
this 关键字用于区分成员变量和局部变量同名的情况,它代表成员变量是一种宽泛的说法。用毕姥爷的话讲叫做:“那个对象调用this所在的函数,this就代表那个对象。”
回复 使用道具 举报
enjoy 中级黑马 2014-12-26 16:39:23
8#
个人理解this代表这个类对象。在方法里面使用this则是new的对象是this。局部变量在方法里面,所以不能用对象调用到。类里面只能有变量,和方法。局部变量在方法中所以局部变量的使用权在于方法。
回复 使用道具 举报
abathe 中级黑马 2014-12-26 16:50:33
9#
实例化Student(String name,int age,String country)这一构造函数的对象即是this所指
回复 使用道具 举报
方法内声明的变量是局部变量,外面的成员变量,局部变量与成员变量重名时,使用这种方式进行区分,this.成员变量名表示当前对象的成员变量。
回复 使用道具 举报
。。。。。。。。。。。。。
回复 使用道具 举报
是的,这是带参构造方法给成员变量赋值写法
回复 使用道具 举报
代表本类对象的引用……藤椅很详细
回复 使用道具 举报
是的,这是带参构造方法给成员变量赋值写法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马