Q: 为什么使用getter和setter?

A: 将它们与私有实例变量结合使用,可以精确定义字段值的更改方式。这可能会变得很乏味,因为大多数情况下,getter和setter只是获取/设置值,而没有任何检查或副作用。但即使在代码中,您也可以看到faceValue的设置者如何检查给定的值是否在0和最大值之间。这保证了当任何人(包括您自己)想要更改faceValue时,将检查输入。

这称为封装,在封装中,您可以隐藏类的字段,使其不受类外部的任何事物的影响,并定义如何更改get和操作这些字段的非常具体的方法。

Q: 为什么要将faceValue设置为1?

A: 这只是将faceValue初始化为1。因此,如果在不首先滚动模具的情况下调用getValue,它将始终返回1。你想要什么都行。

Q: 为什么使用MAX?

首先,它使代码更容易阅读。如果我读了你的代码

value <= 6

,我会对6到底是什么感到困惑。如果我看到像DICE_MAX_VALUE这样的东西,我就知道你在查什么了。

其次,也许更重要的是,使用常量可以定义一次并在任何地方使用它,并保证具有相同的值。如果你想把它改成一个20面骰子,你必须进入你的代码,把所有的'6'实例改成'20',这可能会很烦人,耗时,而且容易出错。

java gette_Java setter,getter(滚压模具)相关推荐

  1. java 封装 setter getter

    封装的优点 1. 良好的封装能够减少耦合. 2. 类内部的结构可以自由修改. 3. 可以对成员变量进行更精确的控制. 4. 隐藏信息,实现细节. 实现Java封装的步骤 1. 修改属性的可见性来限制对 ...

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

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

  3. java setter_浅析java中setter和getter的作用

    前言 同时学习java和python或其他语言的小朋友,肯定发现了一个问题,java实体类有冗长的setter和getter,但是Python就不用,那么造成这个现象的原因是什么呢?为什么java不像 ...

  4. 使用PropertyDescriptor反射调用setter/getter方法

    有时候我们只知道一个对象的字段,我们想通过反射的方式将此字段赋值,可直接写反射又太浪费时间,还需要自己手动拼接方法名,而java为我们提供了一个很方便的类(PropertyDescriptor)来操作 ...

  5. Java实现Zip文件解压

    2019独角兽企业重金招聘Python工程师标准>>> ##1. 两种java实现zip文件解压方式 使用JDK的原生类java.util.zip,上代码: import java. ...

  6. 属性访问器(Property Accessor)----Setter/Getter

    Setter/Getter:属性/成员变量的封装 本质上是实例方法,但是在类的外部作为属性来访问,它允许创建只读和只写属性. 使用: getter方法:必须有返回类型,且和要访问的私有属性类型一致.必 ...

  7. Java 单测 回滚

    Java 单测 回滚 Java 在单测的时候 需要做回滚 设置如下: 需要添加以下 注解 在类上 defaultRollback = true : 为 默认全部回滚 defaultRollback = ...

  8. jQuery 3.0 的 setter/getter 模式

    jQuery 的 setter/getter 共用一个函数,通过是否传参来表明它是何种意义.简单说传参它是 setter,不传它是 getter. 一个函数具有多种意义在编程语言中并不罕见,比如函数重 ...

  9. IntelliJ IDEA for Mac 封装字段(添加setter/getter方法)

    可以利用 IDEA 对类中的字段进行封装,所谓"字段封装",就是指通过调用方法的方式来访问字段,而不是直接通过"对象.字段名"的方式去访问. 例如,成员变量 h ...

最新文章

  1. 啪啪三国2获取服务器信息,啪啪三国2怎么快速的获得资源?
  2. 推荐轻量高效无依赖的开源JS插件和库
  3. python常用代码总结-Python常用功能函数系列总结(一)
  4. 【宽度优先搜索笔记】BFS输出最短路径
  5. PHP 大括号{} 的使用
  6. 解决a标签下载文件token验证问题
  7. 红警3 联网对战平台
  8. [论文笔记|LIC-Fusion]LIC-Fusion: LiDAR-Inertial-Camera Odometry
  9. PaaS、IaaS 、SaaS、Bass、Fass、无服务的理解与区别
  10. NRF51822 回顾总结
  11. nlp自然语言处理中句子相似度计算
  12. 第二章 一种操作系统的诞生
  13. (个人笔记-无用勿喷)Windows软件包的安装与卸载
  14. jdk下载与安装教程win10_jdk下载与安装教程win7
  15. E.03.09 China Tried to Slow Divorces by Making Couples Wait. Instead, They Rushed.
  16. 图解项目产品需求评审流程及详细的评审规范实例
  17. 【mac】如何在Mac系统Dock栏中插入空格/半透明隐藏应用程序
  18. Dynamo之Python编程视频教学
  19. 最小生成树-----------联络员
  20. “史无前例啊”— 2009年那些山寨智能手机们_~毅宅族~_百度空间

热门文章

  1. 朱子治家格言(清朝·朱柏庐)
  2. Python运维开发入门到精通学习 Day3
  3. [ROM制作教程] 【自制ROM工具大集合】各种修改制作ROM工具软件详解以及运用全集合
  4. 图文解析如何配置网络交换机配置
  5. 解析几何----双曲线左支极坐标方程
  6. Sicily 1090 Highways
  7. B. Petya and Exam
  8. Linux PPP实现源码分析
  9. Excel也能制作电子印章,你见过吗?学会了职场不求人
  10. 米的换算单位和公式_小学数学单位换算公式大全.doc