摘要:理性的说明下,隐藏数据既使用公有和私有这两个存取修饰符,将实例变量标记为。本文已转载个人技术公众号欢迎留言讨论与点赞上一篇推荐猫说关于方法及传参的一些问题下一篇推荐
阅读本文约“1.2分钟”
“老王忘记把他的猫封装起来,后来他的猫被压平了......”
这是一个程序界的鬼故事,你忘记对你的数据进行封装,那么有一天也会被人处理掉了。
创建Getter和Setter给所有的实例变量,并寻求某种方法强制其他程序都必须通过Setter来设定变量而不是直接的存取。
也就是封装,其会对我们的实例变量加上绝对领域,因此没有人能够恶搞我们的变量。
且大部分的实例变量值都有一个适当的范围,比如身高就不能是负数,佛敲墙也不能3分钟就做完。
强波其他程序一定要经过Setter,如此Setter就能够检查参数并判断是否可以执行。setter可以退回不合理的值,或是抛出Exception、或者自己进行小数点的动作,重点是你可以在setter中执行任何动作,但是如果直接暴露实体变量就没有办法了。
当然你会说大部分的setter其中也是没有什么逻辑代码的,其实与getter一样,其好处是你事后可以改变想法却不会需要改变其他部分的程序。
封装的优点就是能够让你三心二意却又不会伤害别人,直接存储变量的效率是比不上这个好处的。
理性的说明下,隐藏数据既使用公有和私有这两个存取修饰符,将实例变量标记为private。将getter和setter标记为public。
当然获取你某天有了足够的java设计与编写经验后,你会有新的做法,但是现在还是继续使用这种维持安全的方式把。
本文已转载个人技术公众号:UncleCatMySelf
欢迎留言讨论与点赞
上一篇推荐:【Java猫说】关于Java方法及传参的一些问题
下一篇推荐:
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/71664.html
摘要:我可不可以忽略返回值并未要求一定要处理返回值。你可以调用返回非类型的方法而不必理会返回值,这代表你要的是方法的行为而不是返回值,你可以不指派返回值。 阅读本文约1.2分钟 1、如果想要传入的参数是对象而不是primitive主数据类型会怎样? 在Java中所传递的所有东西都是值,但此值是变量所携带的值。还有,引用对象的变量所携带的是远程控制而不是对象本身,若你对方法传入参数,实际上传...
摘要:所以,我实现了一个称为的类来应用反射。现在流行的语言大都支持反射。这组内省主要是针对类进行操作的,能够获取类的属性信息。可以看到,通过的内省机制,解决了的最关键的问题。在封装反射的时候,会充分考虑到各种情况。 BeanMap 学习具体的技术工具的好办法就是些Demo、造轮子。所以,我实现了一个称为BeanMap的类来应用java反射API。 这个BeanMap的功能是将一个Bean包装...
摘要:本文继续讲封装。上一篇乐字节垃圾回收机制和语句这次讲述继承与权限修饰。通过继承,子类自动拥有了基类的所有成员成员变量和成员方法。一览无遗子承父业儿子自己使用家庭和睦占为已有。 本文继续讲Java封装。上一篇:乐字节Java|GC垃圾回收机制、package和import语句 这次讲述JavaBean、继承与权限修饰。showImg(https://segmentfault.com/im...
摘要:没有操作符重载。最终类型在所有情况下应该是默认的,并用作为修饰符。这样就会减少现在你会在和一些第三方的中见到的那些令人困惑的历史遗留方法。在用过或是最新的之后你会觉得非常的繁琐。这是最常见的关于的吐槽,但它这就是事实。 啊哈Reddit,没了你我们还能在哪里从鱼目混珠的网络中提炼真正的精华?就在这杂乱无章的论坛中,的的确确存在着这样一些精辟的讨论。 比如有个叫Shambloroni的...
阅读 1936·2021-10-25 09:48
阅读 2745·2021-09-22 14:59
阅读 1672·2019-08-29 16:52
阅读 826·2019-08-29 16:07
阅读 2279·2019-08-29 12:38
阅读 1733·2019-08-26 13:23
阅读 858·2019-08-26 11:49
阅读 3186·2019-08-26 10:56