锁定老帖子 主题:java类的设计技巧
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-09-28
final static 写在最上面是checkStykle规范吧啊。。这些都好正常的,没必要说吧?
|
|
返回顶楼 | |
发表时间:2010-09-28
Freedom!
|
|
返回顶楼 | |
发表时间:2010-09-28
肤浅的技巧
|
|
返回顶楼 | |
发表时间:2010-09-28
说的很基本,不错
|
|
返回顶楼 | |
发表时间:2010-09-28
play framework框架给点文档,其模型的部分属性就直接使用的public修饰。
|
|
返回顶楼 | |
发表时间:2010-09-28
asme2u 写道 freish 写道 1)一定将数据设计为私有。
这个肯定是不合理的 如果处处都合理的话,java设计之初就不会让public修饰类的属性了 同意,就我自己来说,对于私有的内部类,我基本使用public字段代替私有字段加getter和setter 将get和set去掉,用public变量取代,实际上是有一个问题存在的。问题不是存在于开发过程中,而是程序的适应性。考虑一下,如果你写的组件有100个子程序调用,使用同一个变量。 例如: 你的Student类有一个String studentCardID; getStudentCardID方法有100个地方被调用,而且程序已经上线n久了。 现在学校规定,在显示的studentCardID前必须加上"#"标记。你需要做的其实很简单,修改一个方法。 public String getStudentCardID(){ return "#"+studentCardID; } 这样就会省去修改整个系统的风险。而如果不用get方法来实现,则很可能面临修改整个系统。 当然,上面的例子对于程序员来说不是很爽,谁也不希望get方法里还要对数据处理,这样的代码不严谨。但在现实世界里,成本往往说了算。 |
|
返回顶楼 | |
发表时间:2010-09-28
太多的 “一定”!
实际作用:一般! 鉴定完毕! 欢迎拍砖! |
|
返回顶楼 | |
发表时间:2010-09-28
youanyyou 写道
2)一定要对数据初始化。
java不对局部变量进行初始化,但是会对对象的实例域进行初始化。最好不要依赖于系统的默认值,而是应该显式地初始化所有的数据,具体的初始化方式可以是提供默认值,也可以是在所有构造器中设置默认值。
这一点个人认为没有必要。并且就我接触的,包括大部分开源项目源码里和呆过的大部分公司的项目里,都没有对实例域进行没必要的初始化。 尤其在构造器里去写十几个变量等于null或0或false的,看起来都头晕。 局部变量能不初始化就不初始化,比如:
User user = null; // or new User();
if (a == b) { user = userDao.getUser(); } else { user = sessionUtil.getUser(); } 看到太多的类似代码, IDE(intellij idea)马上报黄色警告。
|
|
返回顶楼 | |
发表时间:2010-09-28
think in java or eff java 这两本其中一本书中的。。
|
|
返回顶楼 | |
发表时间:2010-09-28
你这是在抄书吧?
|
|
返回顶楼 | |