get用于取得属性的值,set用于给属性赋值。

### 1.灵活性

比如我们有一个Person类,我们给它设置一个属性name,但是我们希望在取名字的时候,不是只显示名字,而是把名字按我们的要求输出,比如”我的名字叫XX”
我们只要定义一个person对象,并给他setName(xx),再getName的时候,就会显示我的名字叫XX。在实际业务中还可以有更灵活的运用,这里就不举例了。

public class Person {private String name;public String getName() {return "我的名字叫" + name;}public void setName(String name) {this.name = name;}
}

### 2.安全性。

比如我们的操作系统在新建用户或在共享文件的时候,经常会提示对针对某个用户的权限是什么,是只读还是只写还是可读写,这里的读写就好比get/set。
对于类来说,如果直接用public定义某个属性,那么这个属性是可读可写的,
如果你希望一个类的某个属性是只能读取,不能写入的时候,上面用public定义某个属性就不能满足了,
我们可以使用private定义属性,再定义一个get方法,但是不定义set方法来实现。反之,只定义set,不定义get则表示该属性是只写不能读的

public class Circle {private double radius;private double pai = 3.14;public double getPai() {return pai;}public void setRadius(double radius) {this.radius = radius;}/*** 计算周长*/public double getC() {return 2*pai*radius;}
}

即:使用成员变量,若定义为private,则不可读,且不可写,该成员只能同过构造函数传值,其他情况无法使用。
          若定义为public, 则可读又可写,不安全。
若想可读不可写,或可写不可读,就体现出get/set方法的用处了。

### 作用

get和set在这里的作用其实是为了访问设置变量的,因为封装了原先的变量所以这样可使数据更加安全;get和set分别对应的是可读和可写。

### 用法

1. 隐藏组件或类内部的真是成员;
2. 用来建立约束;比如,实现“有我没你”这种约束;
3. 用来响应属性化事件,当属性变化是做某事,只要写在set方法里就行。

Java中get和set的作用、用法相关推荐

  1. JAVA中的break[标签]continue[标签]用法

    原文:JAVA中的break[标签]continue[标签]用法 注意:JAVA中的标签必须放在循环之前,且中间不能有其他语句.例如:tag:for或while或do--while; 1.使用brea ...

  2. java中Collections.sort() 排序函数的用法

    java中Collections.sort() 排序函数的用法: 用Collections.sort方法对list排序有两种方法 第一种是list中的对象实现Comparable接口,如下: /** ...

  3. Java 中finalize()方法起什么作用呢?

    转自: Java 中finalize()方法起什么作用呢? Java之finalize()方法功能说明 当我们在一个类中定义了finalize()方法时, 如果一个对象被垃圾收集器析构(回收)之前,则 ...

  4. 12 java中instanceof运算符的意义和用法

    java中instanceof运算符的意义和用法 instanceof运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来标识该对象是否为特定类或者它的子类的一 ...

  5. java中string.trim()函数的作用

    java中string.trim()函数的作用 trim的中文含义是修剪,通过其字面意思,我们不难理解这个函数是对字符串进行一定程度的修改删除.那么,具体是如何实现的呢? public static ...

  6. java中冒号运算符起什么作用呢?

    转自: java中冒号运算符起什么作用呢? 下文笔者讲述java中冒号运算符的功能简介说明,如下所示: 冒号运算符的功能: 1.跳转2.三元表达式3.迭代循环4.断言5.switch6.方法(jdk8 ...

  7. java中构造方法的特征及其作用

    Java中构造方法的定义和作用 构造方法的特征 • 它具有与类相同的名称: • 它不含返回值: • 它不能在方法中用 return 语句返回一个值: • 当自定义了构造方法后,编译器将不再自动创建不带 ...

  8. Java中final关键字的几种用法

    在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面大家跟随动力节点java ...

  9. [转载] java中50个关键字以及各自用法大全

    参考链接: Java中的默认数组值 关键字和保留字的区别 正确识别java语言的关键字(keyword)和保留字(reserved word)是十分重要的.Java的关键字对java的编译器有特殊的意 ...

  10. final关键字_夯实基础:Java中final关键字的几种用法

    导语 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构. 关于static请查 ...

最新文章

  1. java socket wex5_WeX5集成ActiveMQ+WebSocket实现消息推送
  2. 国外开源网站网页翻译
  3. cbow word2vec 损失_word2vec是如何得到词向量的?
  4. 【Android】自定义Loader:loadInBackground+onStartLoading+onStopLoading+onReset+onCanceled
  5. 一个人动情之后的表现......
  6. jsp 体检信息查询 绕过用户名验证_一篇彻底搞懂jsp
  7. MySQL null与not null和null与空值‘‘的区别
  8. 【Angular专题】 (3)装饰器decorator,一块语法糖
  9. 李宏毅2017机器学习homework1-利用gradient descent拟合宝可梦CP值代码并利用adagrad进行优化
  10. 文字转语音软件真人发声(声音自然有感情)
  11. win10动态桌面软件
  12. webServer_国内手机号码归属地查询
  13. PS页面隐藏字段访问方法
  14. 批量合并多个PDF文件
  15. 网卡构造:MAC与PHY的关系,GMAC介绍
  16. JS Decorator —— 装饰器(装饰模式)
  17. treeview demo
  18. 网络协议 -- HTTP协议,get和post的区别?
  19. mysql升序降序关键字(DESC降序,ASC升序)
  20. 口腔与呼吸道微生物多样性

热门文章

  1. 什么是ISP(网络业务提供商)?
  2. JDK8 到 JDK17版本新增特性
  3. ffmpeg 视频码率压缩、质量控制 -crf 和 -qp 参数详解
  4. 模拟简单 LeetCode6070. 计算字符串的数字和
  5. 在中国,有多少程序员干到40了?那么其他人去干什么了?
  6. 大学里大四的学生一般在干什么
  7. 基于python的图像识别
  8. SD卡fat32文件格式说明
  9. HDU1728 BFS
  10. html背景图片固定代码