黑马程序员技术交流社区

标题: set和get该怎么用? [打印本页]

作者: 18334705181    时间: 2014-8-8 18:22
标题: set和get该怎么用?
各位同学大家好,刚学java,set和get该怎么用?在这块一直纠结,求赐教
作者: 新语新空    时间: 2014-8-8 19:22
set方法常用来给成员变量进行赋值所以set方法一般没有返回值,get方法一般用来对外提供取值,代码如下:
  1. private int a;
  2. public void set (int a)
  3. {
  4. this.a = a
  5. }
  6. public int get()
  7. {
  8. return a;
  9. }
复制代码

作者: —Jimmy—    时间: 2014-8-8 19:24
先就把当成两个一般的函数用吧,等你看到后面会明白的,还会说到JavaBean
作者: 亨利大帝    时间: 2014-8-8 21:59
javabean是什么呀  有大神能具体透露么?
作者: 黑马_java猿    时间: 2014-8-8 22:07
怎么用? 赋值和取值。。貌似很简单把这个 多敲就明白了
作者: 姜佳文    时间: 2014-8-8 23:00
就是封装嘛,set就是设置,get就是获取,要想设置内容就用set方法,想拿到内容就用get方法
作者: Bule丶    时间: 2014-8-8 23:12
set是你先给商店钱,get是你之前给商店钱了,然后可以直接拿东西了
作者: rolling-stone    时间: 2014-8-8 23:14
亨利大帝 发表于 2014-8-8 21:59
javabean是什么呀  有大神能具体透露么?

去看一下张孝祥的java高新技术,那里面有详细的解答.
作者: 18334705181    时间: 2014-8-9 08:20
set和get是是必须同时出现么?
作者: 大成哥    时间: 2014-8-9 09:27
对呀 其实就是赋值和取值
作者: 张周飞    时间: 2014-8-9 10:15
set 方法   设置值
get方法   取出值
例子:
public class Method{
        public static void main(String[] args) {
                 MethodSetGet MSG=new MethodSetGet();
                 //设值
         MSG.setName("我是【18334705181】学员");
                //取值
         System.out.println(MSG.getName());

        }
}

class MethodSetGet{
         private String name;//封装属性
         public void setName(String name){//设置属性值
                this.name=name;
         }
         public String getName(){//获取属性值
                return name;
         }



作者: 南柯一梦    时间: 2014-8-9 10:59
这只是个普通方法,只不过用来访问类私有变量用的
作者: 大★宝    时间: 2014-8-9 11:31
取值和赋值,get就是获取,set就是设置
作者: TanZhiPeng1991    时间: 2014-8-9 12:44
好像就是隐藏类的属性,向外提供公共访问方式吧
作者: cyc523633157    时间: 2014-8-9 13:09
亨利大帝 发表于 2014-8-8 21:59
javabean是什么呀  有大神能具体透露么?

javaBean是java  Web 课程,本质上是一个java类,构造方法,setter(),getter(),,
作者: 思维    时间: 2014-8-9 14:31
javabean就是公有的get和set方法,私有的参数类型
作者: 思维    时间: 2014-8-9 14:32
亨利大帝 发表于 2014-8-8 21:59
javabean是什么呀  有大神能具体透露么?

公有的get和set方法,私有的参数类型
作者: AEhaojiu    时间: 2014-8-9 21:18
javabean才会用到 用来获取属性值和修改属性值
作者: 小七    时间: 2014-8-9 21:21
当该类中成员变量是私有的(private)时候,就的通过set和get该成员变量来设置和获取该成员变量的值。
作者: ┣┫流枫    时间: 2014-8-9 21:45
最常用的是一个类的的私有成员变量,会构造set 和get方法   
作者: 柠萌不    时间: 2014-8-9 22:42
是私有变量用的set设置get获取吧
作者: 18334705181    时间: 2014-8-10 09:16
学习一下
作者: 微微微笑    时间: 2014-8-10 13:17
亨利大帝 发表于 2014-8-8 21:59
javabean是什么呀  有大神能具体透露么?

javaBean就是一个简单地java类,不过必须包含一个无参构造函数和get,set方法,就是对对象的封装,方便以后使用(获取和设置对象)。
作者: 18334705181    时间: 2014-8-11 20:33
新语新空 发表于 2014-8-8 19:22
set方法常用来给成员变量进行赋值所以set方法一般没有返回值,get方法一般用来对外提供取值,代码如下:
...

感谢哦。。。。。。

作者: 18334705181    时间: 2014-8-11 20:35
新语新空 发表于 2014-8-8 19:22
set方法常用来给成员变量进行赋值所以set方法一般没有返回值,get方法一般用来对外提供取值,代码如下:
...

可以加我的扣扣么?一起学习一下。。1347018161
作者: 酋长第一    时间: 2014-8-11 20:39
get和set应该是封装的知识点

由于对象的属性一般用private修饰(避免别人改动成员变量的值),他的作用就是对外提供访问方式,

不用太纠结这个问题,以后用了高级编译器根本不用自己写,一个快捷键全出来了,你明白它的作用和写法就可以了
作者: 回头浪子心    时间: 2014-8-11 21:01
表示默默的路过~~~
作者: 嘿~~    时间: 2014-8-12 07:59
把类中的某些属性私有不暴露,需要对外提供set和get方法来设置和获取这些属性。以Person类为例
  1. class Person{
  2. //将name私有化
  3. private String name;
  4. //对象一初始化就具备name属性
  5. Person(String name){
  6. this.name = name;
  7. }
  8. //对外提供setName方法来设置name属性
  9. public void setName(){
  10. this.name =name;
  11. }
  12. //对外提供getName方法来获取name
  13. public String getName(){
  14. return name;
  15. }
  16. }
复制代码

如果不提供set和get方法。当你在Person类外部对其name进行修改和获取时,以为name被私有化,是无法直接访问的
作者: zhuohong_xiao    时间: 2014-8-12 08:23
本帖最后由 zhuohong_xiao 于 2014-8-12 08:28 编辑

set的意思是设置,get的意思是获取。有那种先收钱的饭馆,set就相当于,你给10块钱给服务员,说给我来一个辣椒炒肉的盖码饭。10块钱就相当于你给餐馆这个功能传的参数值。餐馆拿着这10块钱给你做一个辣椒炒肉就是一个功能的实现。过了一会而东西弄好了。你从餐馆获得辣椒炒肉的这个过程就相当于get操作。你不用传参数仅仅是调用餐厅的功能就可以得到你要的辣椒炒肉。public void setXxx()
{

}
public 数据类型  getXxx()
{
return  。。。;
}

作者: 申航航    时间: 2014-8-12 08:27
亨利大帝 发表于 2014-8-8 21:59
javabean是什么呀  有大神能具体透露么?

javabean是用来封装数据的啊,特别简单
作者: 申航航    时间: 2014-8-12 08:28
set一般是用来设置数据的,get是用来获取数据的。
作者: liqi    时间: 2014-8-12 09:45
经常后面加属性: getXxx(), setXxx(),如getName().setName():
获得属性,设置属性
作者: 亨利大帝    时间: 2014-8-12 20:51
微微微笑 发表于 2014-8-10 13:17
javaBean就是一个简单地java类,不过必须包含一个无参构造函数和get,set方法,就是对对象的封装,方便以 ...

set  get 配合着无参构造用法 这个我知道 也比较熟悉  主要是对后面这个javabean这个词不怎么了解  那这样说来他就是这个用法的一个名字而已?
作者: 亨利大帝    时间: 2014-8-12 20:52
申航航 发表于 2014-8-12 08:27
javabean是用来封装数据的啊,特别简单

用法清楚  就是对于这个javabean名称不怎么熟悉  还以为是由什么新功能呢  Thank you
作者: 亨利大帝    时间: 2014-8-12 20:54
思维 发表于 2014-8-9 14:32
公有的get和set方法,私有的参数类型

got u!thank you all the same. it do help me understood
作者: 亨利大帝    时间: 2014-8-12 20:55
rolling-stone 发表于 2014-8-8 23:14
去看一下张孝祥的java高新技术,那里面有详细的解答.

弱弱的问下  大神现在是在上黑马么?
作者: 亨利大帝    时间: 2014-8-12 20:56
cyc523633157 发表于 2014-8-9 13:09
javaBean是java  Web 课程,本质上是一个java类,构造方法,setter(),getter(),,

既然是java web课程  应该会在就业班讲到吧  现在基础班只学了这个set get配合无参用法  那就业班还继续深入讲解?
作者: idency    时间: 2014-8-12 21:51
不要在现在的一些小细节上过于纠结,等你把后面学了之后就会感觉前面很简单!就好比你如果一直在小学重读重读,始终觉得难度都是那么大,当你上完大学再去看小学就觉得那都不是事了
作者: java--周群    时间: 2014-8-12 22:11
java封装使用的,      
作者: 微微微笑    时间: 2014-8-13 18:08
亨利大帝 发表于 2014-8-12 20:51
set  get 配合着无参构造用法 这个我知道 也比较熟悉  主要是对后面这个javabean这个词不怎么了解  那这 ...

是的。。。。
举例:
public class Inbox {
        private String username;
        private String sender;
        public String getUsername() {
                return username;
        }
        public void setUsername(String username) {
                this.username = username;
        }
        public String getSender() {
                return sender;
        }
        public void setSender(String sender) {
                this.sender = sender;
        }
作者: 张亚军    时间: 2014-8-13 19:21
set和get这两个词的表面意思,set是设置的意思,而get是获取的意思,这两个方法是对数据进行设置和获取用的。
在类中使用set和get方法时,都是在set和get后面跟上一些特定的词来形成特定意思的方法名,比如setage()和getage(),表示设置年龄和获取年龄。
由于JAVA面向对象编程中的封闭性和安全性。封闭性即对类中的域变量进行封闭操作,即用private来修饰他们,如此一来其他类则不能对该变量访问。
这样我们就将这些变量封闭在了类内部,这样就提高了数据的安全性,
可以通过两种方法来实现对这些封装数据的操作,第一中即通过public方式构造函数,对象一实例化就对该变量赋值。
第二种就是通过上面提到的set和get方法,例如定义一个Person类,该类中有name、age这两个私有变量,
然后定义setname()、getname()、setage()、getage()这四个方法,通过这四个方法来实现对两个私有变量name和age的操作。
这样一来,我不用直接对Person类中的域变量操作,而是通过set和get方法间接地操作这些变量,这样就能提高域变量的安全性,同时又保证了域变量的封装型。
一般来说set和get方法都是对私有域变量进行操作的,所以大多数都是使用在包含特定属性的类实体中。
作者: ❤如止水之絕境    时间: 2014-8-13 19:54
java 中实体一般都是private 修饰,set方法用于设置,get方法用于取值。不然的话,想要改变私有变量的值,就只能用反射了。
作者: Moriarty    时间: 2014-8-13 20:55
其实就是用set和get的两个方法取出和设置同一个参数。
作者: 亨利大帝    时间: 2014-8-13 21:09
微微微笑 发表于 2014-8-13 18:08
是的。。。。
举例:
public class Inbox {

嘿嘿 好详细呀  可惜不是我的帖子 不然。。。。 嘿嘿;P  灰常感谢
作者: rolling-stone    时间: 2014-8-13 21:56
亨利大帝 发表于 2014-8-12 20:55
弱弱的问下  大神现在是在上黑马么?

恩恩,是的,我现在在java第41期,可真心不是大神,是大菜鸟。还是只会低空飞行的那种.
作者: 被风扬起的沙    时间: 2014-12-10 22:47
应该是取值和赋值,get就是获取,set就是设置
作者: l763631191    时间: 2014-12-15 01:18
set是给这个累创建具备的属性,get 是取这个属性的结果




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