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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张龙跃 中级黑马   /  2013-4-26 22:12  /  2134 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张龙跃 于 2013-4-27 00:53 编辑

        public void setName()//设置名字
        {
                this.name = name;
        }
        public void setAge()//设置年纪
        {
                this.age = age;
        }
        public void cj()//设置成绩
        {
                this.cj = cj;
        }
        public String getName()//获取name
        {
                return name;
        }
        public int getAge()//获取age
        {
                return age;
        }
        public double getCj()//获取成绩
        {
                return cj;
        }

搞不清楚SET GET什么意思

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

7 个回复

倒序浏览
set就是设置值,将接收到的值赋给对象做为属性。
get就是对外提供访问属性的方法。因为你的字段本身是被private修饰的
想要对外暴露属性就要提供get或set方法让别人知道你有这个属性。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
set是赋值的意思,
get是获取的意思。
一般记住这个就可以了,
因为你用到的时候也不一定就是在这里,
以后很多的方法用到这些关键字的时候都有这个意思,基本很类似,
你就需要记住一个是获取,一个是赋值,这样就方便多了
对于你这个类里面的方法,
get是获取,需要返回值,具体类型具体返回值类型
set是赋值,不需要返回值,直接void就行。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
封装就是使用private来修饰属性的可见来限制对属性的访问,但他又提供了get,和set的方法,
get就是用来获取值,而set就是用来赋值,其主要是为了隐藏类的实现细节,让使用者只能同过做这个程序的人规定的方法来访问数据,可以更方便的加入存取控制语句和限制不合理的操作,

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
  就这么理解吧,面向对象中,想对类的成员变量设置访问一些权限,于是,就将该字段设置为private的,这样别的类就不能访问了,然后在该内定义两个方法,
一个专门用于获取,一个用于修改,这样,在你不想让别人乱动该字段的时候,就在该方法内写一些限制条件。
而为了规范起见(团队开发需要嘛),就根据人家老外的习惯,将方法名设置为set+字段名,get+字段名(名字乱改没问题)
既然规范了,那就是别人都叫这名了,于是,有些框架给对象赋值就有方法了,方法名称由get或set开始的又有private变量名的,就找出来调用。
hibernate1框架就这样弄得。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
set,get只是一个函数名,一般取有意义的名字,提高阅读性。这里set,get都是操作属性的,分别赋值和获取

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1 鼓励鼓励

查看全部评分

回复 使用道具 举报
韩冬 中级黑马 2013-4-26 23:02:54
7#
Set是设置函数值,一般不用返回值,就是void类型,
get是获得函数,是要返回值的,不能使用void类型,看具体返回值类型,常用的整形就用int
这个没什么难度,就是两个英文单词的意思搞清楚就行了。{:soso_e100:}

点评

鼓励鼓励  发表于 2013-4-26 23:09

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
为了不让代码被随意的改动,把函数中的变量私有化,用private修饰。但是为了方便用户操作,我们需要对外提供一些方法。这时候就需要用到set  get方法。其实这个方法名字是可以随意取得,但是java是由sun公司开发出来的,set和get方法就是由他们的开发人员创造的。所以一般来讲我们都是用set和get方法。
这里set是设置的意思。比如里面的setName就是设置姓名,你可以随便把起一个名字,把这名字赋值给函数中的name,set是没有返回值类型的。
get是获取的意思。getName就是获取你设置的名字,因为名字通常是字符串类型的,所以我们要返回一个String类型的值。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马