java的基础封装

java的基础封装封装 Encapsulatio 是 java 面向对象的三大特性 之前学 java 迷迷糊糊 一直也没弄清楚什么是封装以及为什么要封装 直到这次看书才有一种被点醒的感觉 java 中的封装是针对某个类而言的 封装的基本原则就是 将你的实例变量标记为私有的 private 并提供共有的 getters amp setters 方法来对成员变量进行存取控制 简而言之

大家好,我是讯享网,很高兴认识大家。



封装(Encapsulation)是java面向对象的三大特性,之前学java迷迷糊糊,一直也没弄清楚什么是封装以及为什么要封装,直到这次看书才有一种被点醒的感觉。

java中的封装是针对某个类而言的,封装的基本原则就是:将你的实例变量标记为私有的(private),并提供共有的getters&setters方法来对成员变量进行存取控制。

简而言之,java的基础封装Java的封装有两条准则

  1. 即将实例变量标记为private
  2. 将getters & setters 方法标记为public

那么我们为什么要这样大费周折的标记实例变量进行封装呢?简单来说就是为了安全。

如果不对实例变量进行封装(即标记为private),那么不管在任何地方,你都可以轻松的修改实例变量的值。

而封装的意义就在于,强迫其他程序如果要修改成员变量就必须通过setters方法进行修改。相当于加了一个中间层。那么你可能会说,我通过setters方法一样可以在任何地方修改成员变量阿,那是因为setters方法是在类中由自己来定义的, 控制权在我自己手中,我可以通过setters方法来检查传过来的变量并判断是否可以执行。setters方法可以退回不合理的值,或者抛出Exception异常,或者进行取小数的运算等等。

但是在现实中你会经常发现某些setters & getters 方法什么事情也没有做,只是做了简单的赋值操作。这的确在某种程度上增加了执行的负担, 但是由此带来的好处也是显而易见的, 那就是如果你事后改变想法不用去改变其他的程序。 这也是封装的意义所在,直接存取的效率是比不上这个好处的。

所以今后写程序一定要记得进行正确的封装,its a good habbit!

小讯
上一篇 2024-12-24 08:53
下一篇 2024-12-31 09:49

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/2119.html