Java中get和set的作用、用法
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的作用、用法相关推荐
- JAVA中的break[标签]continue[标签]用法
原文:JAVA中的break[标签]continue[标签]用法 注意:JAVA中的标签必须放在循环之前,且中间不能有其他语句.例如:tag:for或while或do--while; 1.使用brea ...
- java中Collections.sort() 排序函数的用法
java中Collections.sort() 排序函数的用法: 用Collections.sort方法对list排序有两种方法 第一种是list中的对象实现Comparable接口,如下: /** ...
- Java 中finalize()方法起什么作用呢?
转自: Java 中finalize()方法起什么作用呢? Java之finalize()方法功能说明 当我们在一个类中定义了finalize()方法时, 如果一个对象被垃圾收集器析构(回收)之前,则 ...
- 12 java中instanceof运算符的意义和用法
java中instanceof运算符的意义和用法 instanceof运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来标识该对象是否为特定类或者它的子类的一 ...
- java中string.trim()函数的作用
java中string.trim()函数的作用 trim的中文含义是修剪,通过其字面意思,我们不难理解这个函数是对字符串进行一定程度的修改删除.那么,具体是如何实现的呢? public static ...
- java中冒号运算符起什么作用呢?
转自: java中冒号运算符起什么作用呢? 下文笔者讲述java中冒号运算符的功能简介说明,如下所示: 冒号运算符的功能: 1.跳转2.三元表达式3.迭代循环4.断言5.switch6.方法(jdk8 ...
- java中构造方法的特征及其作用
Java中构造方法的定义和作用 构造方法的特征 • 它具有与类相同的名称: • 它不含返回值: • 它不能在方法中用 return 语句返回一个值: • 当自定义了构造方法后,编译器将不再自动创建不带 ...
- Java中final关键字的几种用法
在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面大家跟随动力节点java ...
- [转载] java中50个关键字以及各自用法大全
参考链接: Java中的默认数组值 关键字和保留字的区别 正确识别java语言的关键字(keyword)和保留字(reserved word)是十分重要的.Java的关键字对java的编译器有特殊的意 ...
- final关键字_夯实基础:Java中final关键字的几种用法
导语 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构. 关于static请查 ...
最新文章
- java socket wex5_WeX5集成ActiveMQ+WebSocket实现消息推送
- 国外开源网站网页翻译
- cbow word2vec 损失_word2vec是如何得到词向量的?
- 【Android】自定义Loader:loadInBackground+onStartLoading+onStopLoading+onReset+onCanceled
- 一个人动情之后的表现......
- jsp 体检信息查询 绕过用户名验证_一篇彻底搞懂jsp
- MySQL null与not null和null与空值‘‘的区别
- 【Angular专题】 (3)装饰器decorator,一块语法糖
- 李宏毅2017机器学习homework1-利用gradient descent拟合宝可梦CP值代码并利用adagrad进行优化
- 文字转语音软件真人发声(声音自然有感情)
- win10动态桌面软件
- webServer_国内手机号码归属地查询
- PS页面隐藏字段访问方法
- 批量合并多个PDF文件
- 网卡构造:MAC与PHY的关系,GMAC介绍
- JS Decorator —— 装饰器(装饰模式)
- treeview demo
- 网络协议 -- HTTP协议,get和post的区别?
- mysql升序降序关键字(DESC降序,ASC升序)
- 口腔与呼吸道微生物多样性