<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Effective-Java on Tony Bai</title><link>https://tonybai.com/tags/effective-java/</link><description>Recent content in Effective-Java on Tony Bai</description><generator>Hugo</generator><language>zh-cn</language><copyright>2004-2026 Tony Bai. 版权所有.</copyright><lastBuildDate>Wed, 08 Dec 2004 00:00:00 +0800</lastBuildDate><atom:link href="https://tonybai.com/tags/effective-java/index.xml" rel="self" type="application/rss+xml"/><item><title>如何编写类中的setter和getter</title><link>https://tonybai.com/2004/12/08/how-implement-setter-and-getter/</link><pubDate>Wed, 08 Dec 2004 00:00:00 +0800</pubDate><guid>https://tonybai.com/2004/12/08/how-implement-setter-and-getter/</guid><description>在effective java中有一item叫”保护性拷贝”，今天又看了许多部门里的代码，发现很多代码都与该item“相违”，晚上和toidi\_xu讨论这个问题有些收获。 Considering the following code: public class Box {         private int length;     public void setLength(int leng...</description></item><item><title>Effective Java阅读笔记-item异常</title><link>https://tonybai.com/2004/12/03/effective-java-notes-item-exception/</link><pubDate>Fri, 03 Dec 2004 00:00:00 +0800</pubDate><guid>https://tonybai.com/2004/12/03/effective-java-notes-item-exception/</guid><description>Dreamhead把他用大把银子买来的“Effective Java”借给我阅读，我真是很感动亚，我只能用行动来感谢Dreamhead了。^\_^ 39、只针对不正常的条件才使用异常 异常只应该被用于不正常的条件，它们永远不应该被用于正常的控制流。 40、对于可恢复的（recoverable conditions）使用被检查异常（checked exceptions）,对于程序错误(error)使...</description></item><item><title>Effective Java阅读笔记-item18</title><link>https://tonybai.com/2004/11/30/effective-java-notes-item18/</link><pubDate>Tue, 30 Nov 2004 00:00:00 +0800</pubDate><guid>https://tonybai.com/2004/11/30/effective-java-notes-item18/</guid><description>Dreamhead把他用大把银子买来的“Effective Java”借给我阅读，我真是很感动亚，我只能用行动来感谢Dreamhead了。^\_^ 18、优先考虑静态成员类（static member class） 在C++的应用中我们很少使用嵌套类，我只在MFC和COM组件中遇到过这些，而且这些嵌套类被隐藏在应用背后，一般的应用中则很少使用。而在Java中嵌套类的应用还是要比在C++中多些。Ja...</description></item><item><title>Effective Java阅读笔记-item24、25、34</title><link>https://tonybai.com/2004/11/30/effective-java-notes-item24-item25-item34/</link><pubDate>Tue, 30 Nov 2004 00:00:00 +0800</pubDate><guid>https://tonybai.com/2004/11/30/effective-java-notes-item24-item25-item34/</guid><description>Dreamhead把他用大把银子买来的“Effective Java”借给我阅读，我真是很感动亚，我只能用行动来感谢Dreamhead了。^\_^ 24、需要时使用保护性拷贝 在学习这个item之前我们看看下面这段“危险的”代码（改编自书中例子）： Considering the following code: //Period.java import java.util.Date; public...</description></item><item><title>Effective Java阅读笔记-item13、14</title><link>https://tonybai.com/2004/11/29/effective-java-notes-item13-and-item14/</link><pubDate>Mon, 29 Nov 2004 00:00:00 +0800</pubDate><guid>https://tonybai.com/2004/11/29/effective-java-notes-item13-and-item14/</guid><description>Dreamhead把他用大把银子买来的“Effective Java”借给我阅读，我真是很感动亚，我只能用行动来感谢Dreamhead了。^\_^ 13、支持不变性（immutable） 我感觉我们只需记住书中列出的几条规则： 1\. 不要提供任何&amp;#34;可修改对象內容&amp;#34;的方法 2\. 保证没有可被子类override的方法 3\. 令所有field为 final 4\. 令所有field都是 priv...</description></item><item><title>Effective Java阅读笔记-item16</title><link>https://tonybai.com/2004/11/29/effective-java-notes-item16/</link><pubDate>Mon, 29 Nov 2004 00:00:00 +0800</pubDate><guid>https://tonybai.com/2004/11/29/effective-java-notes-item16/</guid><description>Dreamhead把他用大把银子买来的“Effective Java”借给我阅读，我真是很感动亚，我只能用行动来感谢Dreamhead了。^\_^ 16、接口优于抽象类 作者有一个观点就是: \* 接口是定义mixin(混合类型)的理想选择。 mixin的定义：一个类除了实现它的基本类型”primitive type”之外，还可以实现这个mixin类型，以表明它提供可供选择的行为，也就是说它允许将...</description></item><item><title>Effective Java阅读笔记-item12</title><link>https://tonybai.com/2004/11/27/effective-java-notes-item12/</link><pubDate>Sat, 27 Nov 2004 00:00:00 +0800</pubDate><guid>https://tonybai.com/2004/11/27/effective-java-notes-item12/</guid><description>Dreamhead把他用大把银子买来的“Effective Java”借给我阅读，我真是很感动亚，我只能用行动来感谢Dreamhead了。^\_^ 从item12~item18讨论的都是单个类或接口的设计技术。 12、使类和成员的可访问能力最小化 作者提出“你应尽可能的是每一个类或成员不被外界访问” \* 顶层类或接口的访问级别   public — 意味着你的类是提供给客户API的一部分，你有义...</description></item><item><title>Effective Java阅读笔记-item4、6</title><link>https://tonybai.com/2004/11/27/effective-java-notes-item4-and-item6/</link><pubDate>Sat, 27 Nov 2004 00:00:00 +0800</pubDate><guid>https://tonybai.com/2004/11/27/effective-java-notes-item4-and-item6/</guid><description>Dreamhead把他用大把银子买来的“Effective Java”借给我阅读，我真是很感动亚，我只能用行动来感谢Dreamhead了。^\_^ 4、避免创建重复对象 我们知道构造函数每次被调用的时候都会创建一个新的对象，在有些情况下这样会很浪费。那我们能不能重复使用一个对象（这个对象应该是immutable的），而不是在每次需要的时候都要创建一个新的对象呢？这就是这个item4所要讲述的事情。...</description></item><item><title>Effective Java阅读笔记-item1</title><link>https://tonybai.com/2004/11/26/effective-java-notes-item1/</link><pubDate>Fri, 26 Nov 2004 00:00:00 +0800</pubDate><guid>https://tonybai.com/2004/11/26/effective-java-notes-item1/</guid><description>Dreamhead把他用大把银子买来的“Effective Java”借给我阅读，我真是很感动亚，我只能用行动来感谢Dreamhead了。^\_^ 1、使用静态工厂方法代替构造函数 静态工厂方法优点： 可命名性：（而构造函数的名字必须和类名一致），使class使用起来较容易，构造函数只是根据不同的函数signature来区分，对使用者来说容易发生调用错误。 内部cache特性：在静态工厂内部可采用...</description></item></channel></rss>