Java应用基础知识:Java开发编程规范集锦(4)

除非输出流一出作用域就关闭,非引用计数的程序语言,比如Java,是不能自动完成变量的清场工作的。必须象下面一样写:

FileOutputStream fos = new FileOutputStream(projectFile); project.save(fos, "IDE Project File"); fos.close();  

Clone

下面是一种有用的方法:

implements Cloneable public Object clone() { try { ThisClass obj = (ThisClass)super.clone(); obj.field1 = (int[])field1.clone(); obj.field2 = field2; return obj; } catch(CloneNotSupportedException e) { throw new InternalError("Unexpected CloneNotSUpportedException: " + e.getMessage()); } }  

final 类

绝对不要因为性能的原因将类定义为 final 的(除非程序的框架要求)

如果一个类还没有准备好被继承,最好在类文档中注明,而不要将她定义为 final 的。这是因为没有人可以保证会不会由于什么原因需要继承她。

访问类的成员变量

大部分的类成员变量应该定义为 protected 的来防止继承类使用他们。

注意,要用"int[] packets",而不是"int packets[]",后一种永远也不要用。

public void setPackets(int[] packets) { this.packets = packets; } CounterSet(int size) { this.size = size; }  

编程技巧

byte 数组转换到 characters

为了将 byte 数组转换到 characters,你可以这么做:

"Hello world!".getBytes();  

Utility 类

Utility 类(仅仅提供方法的类)应该被申明为抽象的来防止被继承或被初始化。

初始化

下面的代码是一种很好的初始化数组的方法:

objectArguments = new Object[] { arguments };  

枚举类型

JAVA 对枚举的支持不好,但是下面的代码是一种很有用的模板:

class Colour { public static final Colour BLACK = new Colour(0, 0, 0); public static final Colour RED = new Colour(0xFF, 0, 0); public static final Colour GREEN = new Colour(0, 0xFF, 0); public static final Colour BLUE = new Colour(0, 0, 0xFF); public static final Colour WHITE = new Colour(0xFF, 0xFF, 0xFF); }  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzygzj.html