Effective Java阅读笔记-item13、14
Dreamhead把他用大把银子买来的“Effective Java”借给我阅读,我真是很感动亚,我只能用行动来感谢Dreamhead了。^\_^ 13、支持不变性(immutable) 我感觉我们只需记住书中列出的几条规则: 1\. 不要提供任何"可修改对象內容"的方法 2\. 保证没有可被子类override的方法 3\. 令所有field为 final 4\. 令所有field都是 priv...
Dreamhead把他用大把银子买来的“Effective Java”借给我阅读,我真是很感动亚,我只能用行动来感谢Dreamhead了。^\_^ 13、支持不变性(immutable) 我感觉我们只需记住书中列出的几条规则: 1\. 不要提供任何"可修改对象內容"的方法 2\. 保证没有可被子类override的方法 3\. 令所有field为 final 4\. 令所有field都是 priv...
Dreamhead把他用大把银子买来的“Effective Java”借给我阅读,我真是很感动亚,我只能用行动来感谢Dreamhead了。^\_^ 16、接口优于抽象类 作者有一个观点就是: \* 接口是定义mixin(混合类型)的理想选择。 mixin的定义:一个类除了实现它的基本类型”primitive type”之外,还可以实现这个mixin类型,以表明它提供可供选择的行为,也就是说它允许将...
Dominoo项目从10月份启动到现在已有近2月,我们做了些工作,但是项目的进度缓慢也是我们几个人有目共睹的。针对前一阶段的工作上的不利局面,我们几个做了一次讨论。 最近两周的工作使我们的Dominoo有了很大进展,经过大家的讨论我们在一些技术问题上达成了共识。dreamhead建议我和toidi\_xu结对编程,并将dmc的XML解析的工作交给我们来做(毕竟我在java编程上还属于菜鸟级),而d...
Dreamhead把他用大把银子买来的“Effective Java”借给我阅读,我真是很感动亚,我只能用行动来感谢Dreamhead了。^\_^ 从item12~item18讨论的都是单个类或接口的设计技术。 12、使类和成员的可访问能力最小化 作者提出“你应尽可能的是每一个类或成员不被外界访问” \* 顶层类或接口的访问级别 public — 意味着你的类是提供给客户API的一部分,你有义...
Dreamhead把他用大把银子买来的“Effective Java”借给我阅读,我真是很感动亚,我只能用行动来感谢Dreamhead了。^\_^ 4、避免创建重复对象 我们知道构造函数每次被调用的时候都会创建一个新的对象,在有些情况下这样会很浪费。那我们能不能重复使用一个对象(这个对象应该是immutable的),而不是在每次需要的时候都要创建一个新的对象呢?这就是这个item4所要讲述的事情。...
Dreamhead把他用大把银子买来的“Effective Java”借给我阅读,我真是很感动亚,我只能用行动来感谢Dreamhead了。^\_^ 1、使用静态工厂方法代替构造函数 静态工厂方法优点: 可命名性:(而构造函数的名字必须和类名一致),使class使用起来较容易,构造函数只是根据不同的函数signature来区分,对使用者来说容易发生调用错误。 内部cache特性:在静态工厂内部可采用...
读过《Thinking in Java》中著名的一章“Everything is an object”,而且不止一遍,不过经过今天和Dreamhead的探讨,才发现我对Java中的“Everything is an object”的理解还是那么的不到位。 我和Dreamhead谈到我在研究Java 5.0时遇到的问题: String\[\] s = {“Hello” , ...
今天在“Java技术论坛”上看到了“J2se5.0新增小功能”这个帖子,大家的集思广益让我又有了一些收获。 1、再谈java引入的格式化输入和输出 在“Java 5.0新特性研究(一)”中,当时只是看了一些简单的例子,自己也没有深入看看jdk5.0的doc。今天看到论坛上的一些例子还是把我吸引了,自己又翻了翻昨天刚下的jdk5.0的doc,觉得java引入的新的格式化输入输出还是蛮好的^\_^。 ...
DreamHead计划使用"Java 5.0 Tiger"来开发我们的Dominoo,理由是:2-3年后"Tiger" will be mature。 我们对刚刚发布不久的"Tiger"了解的不多,晚上我们几个group member坐了下来,听DreamHead讲解"Tiger"的新特性。回到寝室自己做了些实验,有了些体会。 通过对"Tiger"的讨论和研究,得知Sun推出"Tiger"目的就是...
CVS Repository? –> checkout(co) –> commit(ci) –> update(up) Repository vs Modules? –Repository is the modules’s container –Module is often a project Repository has four main parts : –main ...