收藏 (0) +1 (0) +1 (0) +1
收藏成功查看收藏>>

正在阅读:细述Java技术开发规则--基本篇细述Java技术开发规则--基本篇

2005-07-21 10:16 出处: 作者:flyingwcy 责任编辑:moningfeng

8.不要使用不推荐的API
  尽量使用JDK1.3推荐的API。在类和方法或者java组件里有很多方法是陈旧的或者是可以选择的。有一些方法SUN用了"deprecated“标记。最好不要使用例如:

private List t_list = new List ();
t_list.addItem (str);


  如果查一下javadoc的话,会发现建议用add()来代替addItem()。
  参考:http://java.sun.com/j2se/1.3/docs/api/index.html

9.为所有序列化的类创建一个'serialVersionUID'
  可以避免从你各种不同的类破坏序列的兼容性。如果你不特别制订一个UID的话,那么系统为自动产生一个UID(根据类的内容)。如果UID在你新版本的类中改变了,即使那个被序列化的类没改变,你也不能反序列化老的版本了。

public class DUID implements
java.io.Serializable
{
public void method ()
{
}
}


  在里面加一个UID,当这个类的序列化形式改变的时候,你也改变这个UID就可以了。

public class DUIDFixed implements
java.io.Serializable
{
public void method ()
{
}
private static final
long serialVersionUID = 1;
}


  参考:Joshua Bloch: "Effective Java - Programming Language Guide" Addison Wesley, 2001, pp. 223

10.对于private常量的定义
  比较好的做法是对于这样的常量,加上final标记,这样的常量从初始化到最后结束值都不会改变。

private int size = 5;


  改变后的做法是:

private final int size = 5;



11.避免把方法本地变量和参数定义成和类变量相同的名字。
  这样容易引起混扰,建议把任何的变量字都定义成唯一的。这样看来,SCJP里的那些题目在现实中就用不到了:

public void method (int j)
{
final int i = 5;
// VIOLATION
}
private int j = 2;


  建议:

public void method (int j1)
{
final int i = 5;
// VIOLATION
}
private int j = 2;



  待续:(细述Java技术开发规则--中级篇 & 细述Java技术开发规则--开发篇 ...
键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品
手机访问回到顶部