你提供的例子并不合适,至少不是表格和你提到的名字.

我会尝试一些更好的例子:

塞特斯

您可能希望主要使用它们进行验证.作为示例,setDate(日期d)可以检查数据是否在某个范围内,例如,未来不超过20年等(取决于您的要求).

吸气剂

如果那些包含的不仅仅是简单的逻辑,它们可能代表虚拟属性,即没有底层字段但是在运行中计算的属性.

让我们以getAmount()为例:可能没有任何字段数量,或者由于某种原因,数量可能以美分(或更小)存储(例如没有精度问题).因此getAmount()可能如下所示:

public double getAmount() {

return amountInCents / 100.0;

}

请注意,名称getAmount()可能会产生误导,因此最好使用getAmountInUSD()等名称.

一般

在大多数情况下,使用Java中的getter和setter是可以建议的,因为您可以执行以下操作(列表未完成):

>添加验证逻辑(给设置者)

>为虚拟属性添加转换逻辑(setter,getters)

>定义访问权限,即只读意味着没有公共设置者

>使用基于Java Beans规范的库(需要使用setter和getter)

>解耦getter / setter的客户端/调用者,即,如果在某个时刻你想要添加通过setter进行字段访问的验证,则不需要客户端更改(除非需要处理验证错误)等.

>使用setter和getter进行调试,例如通过在方法中放置一个断点并查看堆栈跟踪以查看谁调用它(由dsp_user提及)

java中getter和setter,Java中的Getter和Setter相关推荐

  1. java培训教程分享:Java中怎样将数据对象序列化和反序列化?

    本期为大家介绍的java培训教程是关于"Java中怎样将数据对象序列化和反序列化?"的内容,相信大家都知道,程序在运行过程中,可能需要将一些数据永久地保存到磁盘上,而数据在Java ...

  2. eclipse java luna,java-如何在Eclipse Luna中配置Lombok

    java-如何在Eclipse Luna中配置Lombok 我使用Maven在Eclipse Luna中配置了龙目岛. 注释已正确添加,但没有生成getter和setter. eclipse.ini ...

  3. java 可变参数方法_Java方法中的参数太多,第7部分:可变状态

    java 可变参数方法 在我的系列文章的第七篇中,有关解决Java方法或构造函数中过多参数的问题 ,我着眼于使用状态来减少传递参数的需要. 我等到本系列的第七篇文章来解决这个问题的原因之一是,它是我最 ...

  4. java中缓冲区和缓存_Java中的Google协议缓冲区

    java中缓冲区和缓存 总览 协议缓冲区是一种用于结构化数据的开源编码机制. 它是由Google开发的,旨在实现语言/平台中立且可扩展. 在本文中,我的目的是介绍Java平台上下文中协议缓冲区的基本用 ...

  5. java 接口中变量修饰符,Java的访问修饰符与变量的作用域讲解

    Java访问修饰符(访问控制符) Java 通过修饰符来控制类.属性和方法的访问权限和其他功能,通常放在语句的最前端.例如: ? Java 的修饰符很多,分为访问修饰符和非访问修饰符.本节仅介绍访问修 ...

  6. java继承的范例_Java范例中的继承

    java继承的范例 Inheritance in java is one of the core concepts of Object Oriented Programming. Java Inher ...

  7. java使用poi在word模板中替换柱状图、折线图、饼图、表格、文本、图片

    介绍 java使用poi在word模板中替换柱状图.折线图.饼图.表格.文本.图片 软件架构 安装教程 环境搭建:jdk1.8.0_291.maven1.8.0_291 IDEA工具:IntelliJ ...

  8. JAVA英文翻译表--IT术语中英对照

    2008年02月15日 星期五 15:52 JAVA英文翻译表 ● 单词「式」: constructor 建构式 declaration 宣告式 definition 定义式 destructor 解 ...

  9. 使java方法全部折叠_Intellij IDEA中一次性折叠所有Java代码的快捷键设置

    Intellij IDEA中一次性折叠所有Java代码的快捷键设置 问题:在Java文件中,想把所有的Java方法代码都一次性给折叠起来,用哪个点开哪个. 问题来源:在新建model bean的时候, ...

  10. JAVA出现x可以在Point中访问private是什么意思 高手进

    JAVA出现x可以在Point中访问private是什么意思 高手进 class Point{ private int x; private int y; public Point(int x,int ...

最新文章

  1. ACMNO.3 有三个整数a b c,由键盘输入,输出其中的最大的数。 输入 一行数组,分别为a b c 输出 a b c其中最大的数 样例输入 10 20 30 样例输出 30
  2. HTTP_REFERER的获取情况
  3. SQL Server 2008 正式版安装指南(附序列号)
  4. python标准库math用来计算平方根的函数_《Python程序设计方案》题库
  5. android 系统之ContentProvider
  6. OpenShift 4 - DevSecOps Workshop (6) - 为Pipeline增加SonarQube实现SAST
  7. 电脑的服务器操作系统是什么,电脑的服务器操作系统是什么
  8. Linux定义多个标准输入输出,言简意赅解释Linux中的标准输入输出
  9. Module not found: Error: Can't resolve 'XXX' in 'XXXX'
  10. 构建指定仓库_使用Travis CI自动构建和部署你的GitBook
  11. 语法错误 : 缺少“;”(在“<”的前面)
  12. 爬虫_4、requests的post方法以及json字符串处理
  13. ajaxsubmit php上传文件,使用ajaxSubmit方法实现多文件上传(异步)
  14. 在SOUI里使用真窗口时使用SOUI的滚动条
  15. python3在线编程工具_9种方便的在线IDE(可在线编辑并运行代码)
  16. 如何查看自己windows密钥
  17. 我的新书《Flutter 开发之旅从南到北》终于和大家见面了(抽奖送书啦)。
  18. 五款最好用的记事本编程软件比UltraEdit强大
  19. 【牛牛的跳跳棋】dp解法
  20. Jetson Nano从零开始(2):硬件篇

热门文章

  1. finalcut剪切快捷键_Final Cut Pro 中的键盘快捷键
  2. 集成公告|Moonbeam宣布与ShowMe集成
  3. 安卓简洁地实现点击ImageView查看大图功能
  4. VMware虚拟机显示网络电缆已拔出
  5. JavaScript学习简单记录
  6. 录音转文字软件有电脑版吗?推荐这几个音频转文字软件
  7. 前端开发:npm install报错npm ERR! enoent ENOENT:no such file or directory, open…的解决方法
  8. 非常可乐(HDU-1495)
  9. 不要拿项目做毕业设计
  10. 无需打开软件排版设计海报的在线工具!