当前位置: 首页 > 图文教程 > Java技术 > Java基础 > Java基础:小编谈Java 文件格式

Java基础
Struts+Hibernate数据表示
JSP+MYSQL+Java类优化分页
利用JBuilder 2005 开发Spring
Java程序与C语言的接口
10分钟Hibernate体验
Tomcat配置技巧Top 10
JDBC+Hibernate将Blob数据写入Oracle
Java使用全屏幕模式
Java基础:小编浅谈C#与java的属性区别
Java基础:小编浅谈C#和Java的相似之处
Java基础:小编浅谈C#与java的事件区别
Java基础:小编浅谈C#与java的对象索引机制、指代的区别
Java基础:小编谈Java中获取系统属性
Java基础:浅谈Java Bean与EJB的那些区别
Java基础:Java中对文件读写操作概述
Java基础:Java中安全问题
Java基础:浅谈面向对象应用中的持续性
Java中多线程的实现
多线程使用中的问题
MIME详解

Java基础:小编谈Java 文件格式


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-26   浏览: 175 ::
收藏到网摘: n/a

下面小编要和大家分享的是Java文件格式,这些都是程序员们所必须掌握的哦!赶快看看哪里还欠缺,恶补下!

所有的 Java(*.java) 文件都必须遵守如下的样式规则:

版权信息
版权信息必须在 java 文件的开头,比如:

/*

 * Copyright © 2000 Shanghai XXX Co. Ltd.

 * All right reserved.

 */

其他不需要出现在 javadoc 的信息也可以包含在这里。

Package/Imports
package
行要在 import 行之前,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列。如果 import 行中包含了同一个包中的不同子目录,则应该用 * 来处理。

package hotlava.net.stats;

 

import java.io.*;

import java.util.Observable;

import hotlava.util.Application;

这里 java.io.* 使用来代替InputStream and OutputStream 的。

Class
接下来的是类的注释,一般是用来解释类的。

/**

 * A class representing a set of packet and byte counters

 * It is observable to allow it to be watched, but only

 * reports changes when the current set is complete

 */

接下来是类定义,包含了在不同的行的 extends implements

public class CounterSet

              extends Observable

              implements Cloneable

Class Fields
接下来是类的成员变量:

/**

 * Packet counters

 */

protected int[] packets;

public 的成员变量必须生成文档(JavaDoc)。procetedprivate package 定义的成员变量如果名字含义明确的话,可以没有注释。

存取方法
接下来是类变量的存取的方法。它只是简单的用来将类的变量赋值获取值的话,可以简单的写在一行上。

/**

 * Get the counters

 * @return an array containing the statistical data.  This array has been

 * freshly allocated and can be modified by the caller.

 */

public int[] getPackets() { return copyArray(packets, offset); }

public int[] getBytes() { return copyArray(bytes, offset); }

 

public int[] getPackets() { return packets; }

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

其它的方法不要写在一行上

构造函数
接下来是构造函数,它应该用递增的方式写(比如:参数多的写在后面)。
访问类型 ("public", "private" .) 任何 "static", "final" "synchronized" 应该在一行中,并且方法和参数另写一行,这样可以使方法和参数更易读。

public

CounterSet(int size){

  this.size = size;

}

克隆方法
如果这个类是可以被克隆的,那么下一步就是 clone 方法:

public

Object clone() {

 try {

    CounterSet obj = (CounterSet)super.clone();

    obj.packets = (int[])packets.clone();

    obj.size = size;

   return obj;

  }catch(CloneNotSupportedException e) {

    throw new InternalError("Unexpected CloneNotSUpportedException: " + e.getMessage());

  }

}

类方法
下面开始写类的方法:

/**

 * Set the packet counters

 * (such as when restoring from a database)

 */

protected final

void setArray(int[] r1, int[] r2, int[] r3, int[] r4)

  throws IllegalArgumentException

{

  //

  // Ensure the arrays are of equal size

  //

  if (r1.length != r2.length || r1.length != r3.length || r1.length != r4.length)

       throw new IllegalArgumentException("Arrays must be of the same size");

  System.arraycopy(r1, 0, r3, 0, r1.length);

  System.arraycopy(r2, 0, r4, 0, r1.length);

}

toString 方法
无论如何,每一个类都应该定义 toString 方法

public

String toString() {

  String retval = "CounterSet: ";

    for (int i = 0; i < data.length(); i++) {

      retval += data.bytes.toString();

      retval += data.packets.toString();

    }

    return retval;

  }

}

main 方法
如果main(String[]) 方法已经定义了, 那么它应该写在类的底部.

一口气说了这么多!希望能够对大家有所帮助!