java是典型的面向对象的编程语言,面向对象三个特性,继承性,多态性,封装性,主要和封装性考虑,类里面的变量不想设置成公共的类型,但是还要给外部使用在这种实用场景下,从编程技巧上加上方法来获取或者设置参数值,于是getter和setter就使用上了。

增加两个方法保证了类结构的完整性以及安全性还是非常合算的做法,其实从框架上考虑增加这两个方法还能在实际编程过程中增加额外的功能作用,现在就根据实际编程中的经验做一些总结归纳:

1.可以通过setter方法检查下数据的准确性,比如是否越界之类的异常等等

2.可以在setter方法里面加上一些功能函数,主要在限定一些条件如果数值达到一定范围之后就开始做某些动作,选择的时机点正好在这个方法里面。

3.加入涉及到多线程的操作,在setter方法里面正好做加锁的操作,正好是一个恰当的时机

4.由于是关键数值的变化,在这两个方法中加上打印非常适合追踪数据的变化,方便程序的判断。

以上四点是在项目推进过程中总结的,希望对于初学java的有所帮助。

原文发布时间为:2018-09-18

本文作者:东辉在线

本文来自云栖社区合作伙伴“程序员互动联盟”,了解相关信息可以关注“程序员互动联盟”。

java里getter和setter的作用和区别是什么?相关推荐

  1. Java中getter和setter的一些理解

    工作中用C#开发,目前自学Java.自以为很理解Java中的getter和setter了,结果被朋友一问,发现还是一知半解,越想越懵逼. 问题主要有两个: 1. Java中为什么要用getter和se ...

  2. java中getter 和 setter 方法有什么意义?为什么不用public代替GS?

    知乎里的一个答案:https://www.zhihu.com/question/21401198 的确可以暴露,如果1. 所有内外代码都是你自己写:2. 这个模块再也不改了:3. 不会继承它,或者继承 ...

  3. Spring的核心机制依赖注入,Junit测试与Java基础Getter和Setter两种方法意义——2017.07.26...

    今天对Spring的基础理解又加深了一丢丢. 1 首先Spring的基础配置文件中,主要由以下几个配置文件, 1 <beans xmlns:xsi="http://w3.org/200 ...

  4. java中getter和setter,Java中的Getter和Setter

    你提供的例子并不合适,至少不是表格和你提到的名字. 我会尝试一些更好的例子: 塞特斯 您可能希望主要使用它们进行验证.作为示例,setDate(日期d)可以检查数据是否在某个范围内,例如,未来不超过2 ...

  5. Kotlin的getter和setter

    Blog快览 Java中getter和setter方法 Kotlin中的getter和setter方法 Kotlin中的get()和set()高级用法 Java中getter和setter方法 在Ja ...

  6. Java里的字符串, String类简单介绍.

    String类在java面试中也是1个常见的问题点. 所以也是写在这里方便以后查阅了. 大家都知道c语言里是没有String 字符串这个数据类型的. 只能用字符数组的1个特殊形式来表示一个字符串, 就 ...

  7. android getter不起作用,java - 如何在Android Studio中自动生成getter和setter

    java - 如何在Android Studio中自动生成getter和setter Android Studio中是否有一个快捷方式可以自动生成给定类中的getter和setter? 14个解决方案 ...

  8. 计算属性computed里面的getter和setter

    参考一: 在 Vue 中,computed 的属性可以被视为是 data 一样,可以读取和设值,因此在 computed 中可以分成 getter(读取) 和 setter(设值),一般情况下是没有 ...

  9. 【Groovy】Groovy 方法调用 ( Java 类成员及 setter 和 getter 方法设置 | Groovy 类自动生成成员的 getter 和 setter 方法 )

    文章目录 一.Java 类成员及 setter 和 getter 方法设置 二.Groovy 类自动生成成员的 getter 和 setter 方法 一.Java 类成员及 setter 和 gett ...

最新文章

  1. php while循环控制实例讲解
  2. MYSQL:1045Access denied for user 'root'@'localhost
  3. [转] form.getForm().submit的用法及Ext.Ajax.request的小小区别
  4. Python自动化办公之Excel对比工具
  5. 关于Vue中计算属性computed和methods属性的区别,你了解多少呢
  6. 在jMeter里如何创建用户定义的能生成随机数的变量
  7. hosts文件不起作用
  8. netty 发送 http请求
  9. Arcgis创建SDE_Geometry、SDO_Geometry的区别【转】
  10. java 风车_Java兴趣编程-转动的大风车
  11. 分析数万条国庆旅游评论数据后,我发现了“坑爹”景点背后的秘密
  12. JavaScript_8_比较,条件语句
  13. Hadoop 解除 Name node is in safe mode(转)
  14. 外螺纹对照表_美制螺纹内外径对照表unf
  15. golang的chan有趣用法
  16. android跳一跳作弊编程,跳一跳辅助器作弊刷分 微信跳一跳辅助工具(安卓/iOS苹果)-优基地...
  17. 【Unity Shader 中Pass相关介绍_第二篇】
  18. self和Self、== 和===的区别
  19. CentOS中安装与配置Tomcat-7的方法
  20. 文档级机器翻译综述:A Survey on Document-level Machine Translation: Methods and Evaluation

热门文章

  1. 鸡兔同笼python程序怎么写_属鸡-生肖鸡-属鸡人的命运-华易算命网
  2. git 撤销上次提交 commit
  3. MAC上Cisco AnyConnect删除不干净,造成无法重新安装的解决办法
  4. princeton 本科cos318操作系统教程-2概述
  5. 如何向虚拟服务器传送文件,如何往虚拟机内传文件的3种方法
  6. centOS下tar: bzip2: Cannot exec: No such file or directo
  7. 令人拍案叫绝的Wasserstein GAN(转载)
  8. java 时分秒 转换 秒_JAVA将时分秒格式的时间转化成秒数
  9. 解决锐捷客户端出现密码不匹配,请输入正确密码问题
  10. java判断车牌号,包含新能源