关于自定义类中的get()与set()方法的好处与坏处的,欢迎讨论!!

MAX°孟兆 2005-03-14 08:45:22
在JAVA中编写类时,对于类的成员变量一般都是声明为private,然后再为其编写两个读写器getXXX(),setXXX()。

如果有一个这样的前提条件,就是这个类的所有成员变量都是可读写,而且都是单一数据,只用于存储数据值。这时能不能把成员变量都声明为public,不编写getXXX()和setXXX()?

对于前者与后者是否有性能,执行效率方面的差别,还有编译后的class文件大小?

请各位发表一下见解...
...全文
161 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fashchina 2005-03-15
  • 打赏
  • 举报
回复
没有考虑过,帮助顶
MAX°孟兆 2005-03-15
  • 打赏
  • 举报
回复
就像我说的只是存储简单的数据,而且数据也不会有其它的扩展性设计的时候也需要这样吗?
但觉得这样也加get,set会不会效率不高.因为数据可能被很高频率地访问.
quiton 2005-03-15
  • 打赏
  • 举报
回复
通过类的封装,实现了模块化和信息隐藏 。

如果类中的成员变量不是私有的,会导致数据的错误、混乱和安全性问题。破坏的封装性。

为了实现良好的封装性,通常将类的成员变量声明为私有的(private)成员变量,再通过公有的(public)方法对这个变量进行访问。

对一个变量的操作,一般都有读取和赋值操作,分别定义两个方法来实现赋值操作,一个是getXxx(),用来读取成员变量的操作,另一个是setXxx(),用来对这个成员变量进行赋值。
lxleaves 2005-03-14
  • 打赏
  • 举报
回复
如果有时候是public final对象直接用
MAX°孟兆 2005-03-14
  • 打赏
  • 举报
回复
就是考虑到性能问题。。。
zez 2005-03-14
  • 打赏
  • 举报
回复
性能,效率的差别就是 public的方式更块,更方便 !!!
为什么不用这种方式.. 是因为有很多原因..一般的java书上或 面向对象的书上都有解释...
1. 方便扩展
2. 安全
3....

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧