的确没有什么坏处。但可扩展性、维护性比较好,如果需要对属性进行取、赋值处理用get和set就好办了,而直接public属性是没有办法作到的。
解决方案 »
- java堆栈内存问题
- Eclipse3.2能运行Eclipse3.5的程序吗?
- JDK 如何自动升级?
- 请问一下如何用PreparedStatement 进行选择条件查询?
- java如何调用第三方的dll
- 求教各位高手:如何监听某个文件夹添加了文件?给个例子吧。
- 菜鸟提问
- 用jdbc连informix时,出现乱码提示的问题?
- 关于管道问题,请高手指教阿
- WebLogic与Corba!!Corba只能传送英文字符串,中文就报错!怎么办?
- 求助thinking in java后面习题的解答!!!
- 我刚买了一本《JAVA编程思想第三版》准备学习JAVA,结果连最基本的问题都不知道怎么解决,请各位大侠指教。。。
-----------------------------------
不是吧,默认是包访问
第二,如果你需要只读(只写)属性怎么办?只写getter就可以获得一个只读属性
第三,如果类的内部设计发生变化怎么办?假设,对象不再直接保存年龄,而是改为保存出生日期,如果没有setter,getter就要改变接口,以解所有相关程序,如果使用,就可以在getter里面计算年龄,而不改变类的接口。
另外,.net中并不是直接暴露属性的,.net对于属性有额外的语法支持,依然是使用setter和getter,只不过形式上比较简单而已!
ding !
setter,则只要修改setter即可。这也就是为什么有Vector等一系列老的collection解决方案就算有瑕疵,也得保留的原因,因为有很多的代码已经使用了。
如果你能保证,就没问题
只是一般情况下,要为未来留下后路。
如果以后你的这个类要增加东西,或者改变一些实现方式,getter,setter方法会让你觉得变化起来容易些。