竭诚为您提供优质文档/双击可除
java类名命名规范
篇一:java各种命名规范
定义规范的目的是为了使项目的代码样式统一,使程序有良好的可读性。
包的命名(全部小写,由域名定义)
java包的名字都是由小写单词组成。但是由于java面向对象编程的特性,每一名java程序员都可以编写属于自己的java包,为了保障每个java包命名的唯一性,在最新的java编程规范中,要求程序员在自己定义的包的名称之前加上唯一的前缀。由于互联网上的域名称是不会重复的,所以程序员一般采用自己在互联网上的域名称作为自己程序包的唯一前缀。
例如:net.frontfree.javagroup
类的命名(单词首字母大写)
根据约定,java类名通常以大写字母开头,如果类名称由多个单词组成,则每个单词的首字母均应为大写例如testpage;如果类名称中包含单词缩写,则这个缩写词的每个字母均应大写,
如:xmlexample,还有一点命名技巧就是由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。
例如:graphics
方法的命名(首字母小写,字母开头大写)
方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。例如:drawimage
常量的命名(全部大写,常加下划线)
常量的名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词。
例如:max_Value
参数的命名
参数的命名规范和方法的命名规范相同,而且为了避免阅读程序时造成迷惑,请在尽量保证参数名称为一个单词的情况下使参数的命名尽可能明确。
javadoc注释
java除了可以采用我们常见的注释方式之外,java语言规范还定义了一种特殊的注释,也就
例如:graphics
方法的命名(首字母小写,字母开头大写)
方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。例如:drawimage
常量的命名(全部大写,常加下划线)
常量的名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词。
例如:max_Value
参数的命名
参数的命名规范和方法的命名规范相同,而且为了避免阅读程序时造成迷惑,请在尽量保证参数名称为一个单词的情况下使参数的命名尽可能明确。
javadoc注释
java除了可以采用我们常见的注释方式之外,java语言规范还定义了一种特殊的注释,也就
是我们所说的javadoc注释,它是用来记录我们代码中的api的。javadoc注释是一种多行注释,以/**开头,而以*/结束,注释可以包含一些html标记符和专门的关键词。使用javadoc注释的好处是编写的注释可以被自动转为在线文档,省去了单独编写程序文档的麻烦。
例如:
/**
*thisisanexampleof
*javadoc
*@authordarchon
*@version0.1,10/11/20xx
*/
在每个程序的最开始部分,一般都用javadoc注释对程序的总体描述以及版权信息,之后在主程序中可以为每个类、接口、方法、字段添加javadoc注释,每个注释的开头
部分先用一句话概括该类、接口、方法、字段所完成的功能,这句话应单独占据一行以突出其概括作用,在这句话后面可以跟随更加详细的描述段落。在描述性段落之后还可以跟随一些以javadoc注释标签开头的特殊段落,例如上面例子中的@auther和@version,这些段
例如:
/**
*thisisanexampleof
*javadoc
*@authordarchon
*@version0.1,10/11/20xx
*/
在每个程序的最开始部分,一般都用javadoc注释对程序的总体描述以及版权信息,之后在主程序中可以为每个类、接口、方法、字段添加javadoc注释,每个注释的开头
部分先用一句话概括该类、接口、方法、字段所完成的功能,这句话应单独占据一行以突出其概括作用,在这句话后面可以跟随更加详细的描述段落。在描述性段落之后还可以跟随一些以javadoc注释标签开头的特殊段落,例如上面例子中的@auther和@version,这些段
落将在生成文档中以特定方式显示。
变量和常量命名
变量的命名
主要的的命名规范有以下三种:
camel标记法:首字母是小写的,接下来的单词都以大写字母开头
pascal标记法:首字母是大写的,接下来的单词都以大写字母开头
匈牙利标记法:在以pascal标记法的变量前附加小写序列说明该变量的类型
在java我们一般使用匈牙利标记法,基本结构为scope_typeVariablename,它使用1-3字符前缀来表示数据类型,3个字符的前缀必须小写,前缀后面是由表意性强的一个单词或多个单词组成的名字,而且每个单词的首写字母大写,其它字母小写,这样保证了对变量名能够进行正确的断句。例如,定义一个整形变量,用来记录文档数量:
intdoccount,其中int表明数据类型,后面为表意的英文名,每个单词首字母大写。这样,在一个变量名就可以反映出变量类型和变量所存储的值的意义两方面内容,这使得代码语句可读性强、更加容易理解。byte、int、char、long、float、double、boolean和short。
数据类型/前缀(附)
变量和常量命名
变量的命名
主要的的命名规范有以下三种:
camel标记法:首字母是小写的,接下来的单词都以大写字母开头
pascal标记法:首字母是大写的,接下来的单词都以大写字母开头
匈牙利标记法:在以pascal标记法的变量前附加小写序列说明该变量的类型
在java我们一般使用匈牙利标记法,基本结构为scope_typeVariablename,它使用1-3字符前缀来表示数据类型,3个字符的前缀必须小写,前缀后面是由表意性强的一个单词或多个单词组成的名字,而且每个单词的首写字母大写,其它字母小写,这样保证了对变量名能够进行正确的断句。例如,定义一个整形变量,用来记录文档数量:
intdoccount,其中int表明数据类型,后面为表意的英文名,每个单词首字母大写。这样,在一个变量名就可以反映出变量类型和变量所存储的值的意义两方面内容,这使得代码语句可读性强、更加容易理解。byte、int、char、long、float、double、boolean和short。
数据类型/前缀(附)
byteb
charc
shortsh
inti
longl
charc
strings
floatf
doubled
hashtableh
[]arr
listlst
Vectorv
stringbuffersb
booleanb
charc
shortsh
inti
longl
charc
strings
floatf
doubled
hashtableh
[]arr
listlst
Vectorv
stringbuffersb
booleanb
bytebt
mapmap
objectob
对于在多个函数内都要使用的全局变量,在前面再增加“g_”。例如一个全局的字符串变量:g_struserinfo。
在变量命名时要注意以下几点:
·选择有意义的名字,注意每个单词首字母要大写。
·在一段函数中不使用同一个变量表示前后意义不同的两个数值。
·i、j、k等只作为小型循环的循环索引变量。
·避免用Flag来命名状态变量。
·用is来命名逻辑变量,如:blnFileisFound。通过这种给布尔变量肯定形式的命名方式,使得其它开发人员能够更为清楚的理解布尔变量所代表的意义。
·如果需要的话,在变量最后附加计算限定词,如:cursalessum。
·命名不相包含,cursales和cursalessum。
·staticfinal变量(常量)的名字应该都大写,并且指出完整含义。
mapmap
objectob
对于在多个函数内都要使用的全局变量,在前面再增加“g_”。例如一个全局的字符串变量:g_struserinfo。
在变量命名时要注意以下几点:
·选择有意义的名字,注意每个单词首字母要大写。
·在一段函数中不使用同一个变量表示前后意义不同的两个数值。
·i、j、k等只作为小型循环的循环索引变量。
·避免用Flag来命名状态变量。
·用is来命名逻辑变量,如:blnFileisFound。通过这种给布尔变量肯定形式的命名方式,使得其它开发人员能够更为清楚的理解布尔变量所代表的意义。
·如果需要的话,在变量最后附加计算限定词,如:cursalessum。
·命名不相包含,cursales和cursalessum。
·staticfinal变量(常量)的名字应该都大写,并且指出完整含义。
·如果需要对变量名进行缩写时,一定要注意整个代码中缩写规则的一致性。例如,如果在代码的某些区域中使用intcnt,而在另一些区域中又使用intcount,就会给代码增加不必要的复杂性。建议变量名中尽量不要出现缩写。
·通过在结尾处放置一个量词,就可创建更加统一的变量,它们更容易理解,也更容易搜索。例如,请使用strcustomerFirst和strcustomerlast,而不要使用strFirstcustomer和strlastcustomer。常用的量词后缀有:First(一组变量中的第一个)、last(一组变量中的最后一个)、next(一组变量中的下一个变量)、prev(一组变量中的上一个)、cur(一组变量中的当前变量)。
·为每个变量选择最佳的数据类型,这样即能减少对内存的需求量,加快代码的执行速度,又会降低出错的可能性。用于变量的数据类型可能会影响该变量进行计算所产生的结果。在这种情况下,编译器不会产生运行期错误,它只是迫使该值符合数据类型的要求。这类问题极难查。
·尽量缩小变量的作用域。如果变量的作用域大于它应有的范围,变量可继续存在,并且在不再需要该变量后的很长时间内仍然占用资源。它们的主要问题是,任何类中的任何方法都能对它们进行修改,并且很难跟踪究竟是何处进行修改的。占用资源是作用域涉及的一个重
·通过在结尾处放置一个量词,就可创建更加统一的变量,它们更容易理解,也更容易搜索。例如,请使用strcustomerFirst和strcustomerlast,而不要使用strFirstcustomer和strlastcustomer。常用的量词后缀有:First(一组变量中的第一个)、last(一组变量中的最后一个)、next(一组变量中的下一个变量)、prev(一组变量中的上一个)、cur(一组变量中的当前变量)。
·为每个变量选择最佳的数据类型,这样即能减少对内存的需求量,加快代码的执行速度,又会降低出错的可能性。用于变量的数据类型可能会影响该变量进行计算所产生的结果。在这种情况下,编译器不会产生运行期错误,它只是迫使该值符合数据类型的要求。这类问题极难查。
·尽量缩小变量的作用域。如果变量的作用域大于它应有的范围,变量可继续存在,并且在不再需要该变量后的很长时间内仍然占用资源。它们的主要问题是,任何类中的任何方法都能对它们进行修改,并且很难跟踪究竟是何处进行修改的。占用资源是作用域涉及的一个重
要问题。对变量来说,尽量缩小作用域将会对应用程序的可靠性产生巨大的影响。关于常量的命名方法,在jaVa代码中,无论什么时候,均提倡应用常量取代数字、固定字符串。也就是说,程序中除0,1以外,尽量不应该出现其他数字。常量可以集中在程序开始部分定义或者更宽的作用域内,名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线“_”来分割这些单词如:
num_days_in_week、max_Value。
篇二:java各种命名规范
定义规范的目的是为了使项目的代码样式统一,使程序有良好的可读性。
包的命名(全部小写,由域名定义)
java包的名字都是由小写单词组成。但是由于java面向对象编程的特性,每一名java程序员都可以编写属于自己的java包,为了保障每个java包命名的唯一性,在最新的java编程规范中,要求程序员在自己定义的包的名称之前加上唯一的前缀。由于互联网上的域名称是不会重复的,所以程序员一般采用自己在互联网上的域名称作为自己程序包的唯一前缀。
例如:net.frontfree.javagroup
类的命名(单词首字母大写)
num_days_in_week、max_Value。
篇二:java各种命名规范
定义规范的目的是为了使项目的代码样式统一,使程序有良好的可读性。
包的命名(全部小写,由域名定义)
java包的名字都是由小写单词组成。但是由于java面向对象编程的特性,每一名java程序员都可以编写属于自己的java包,为了保障每个java包命名的唯一性,在最新的java编程规范中,要求程序员在自己定义的包的名称之前加上唯一的前缀。由于互联网上的域名称是不会重复的,所以程序员一般采用自己在互联网上的域名称作为自己程序包的唯一前缀。
例如:net.frontfree.javagroup
类的命名(单词首字母大写)
根据约定,java类名通常以大写字母开头,如果类名称由多个单词组成,则每个单词的首字母均应为大写例如testpage;如果类名称中包含单词缩写,则这个缩写词的每个字母均应大写,如:xmlexample,还有一点命名技巧就是由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。
例如:graphics
方法的命名(首字母小写,字母开头大写)
方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。例如:drawimage
常量的命名(全部大写,常加下划线)
常量的名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词。
例如:max_Value
参数的命名
参数的命名规范和方法的命名规范相同,而且为了避免阅读程序时造成迷惑,请在尽量保证参数名称为一个单词的情况下使参数的命名尽可能明确。
例如:graphics
方法的命名(首字母小写,字母开头大写)
方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。例如:drawimage
常量的命名(全部大写,常加下划线)
常量的名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词。
例如:max_Value
参数的命名
参数的命名规范和方法的命名规范相同,而且为了避免阅读程序时造成迷惑,请在尽量保证参数名称为一个单词的情况下使参数的命名尽可能明确。
javadoc注释
java除了可以采用我们常见的注释方式之外,java语言规范还定义了一种特殊的注释,也就是我们所说的javadoc注释,它是用来记录我们代码中的api的。javadoc注释是一种多行注释,以/**开头,而以*/结束,注释可以包含一些html标记符和专门的关键词。使用javadoc注释的好处是编写的注释可以被自动转为在线文档,省去了单独编写程序文档的麻烦。
例如:
/**
*thisisanexampleof
*javadoc
*@authordarchon
*@version0.1,10/11/20xx
*/
在每个程序的最开始部分,一般都用javadoc注释对程序的总体描述以及版权信息,之后在主程序中可以为每个类、接口、方法、字段添加javadoc注释,每个注释的开头
部分先用一句话概括该类、接口、方法、字段所完成的功能,这句话应单独占据一行以突
java除了可以采用我们常见的注释方式之外,java语言规范还定义了一种特殊的注释,也就是我们所说的javadoc注释,它是用来记录我们代码中的api的。javadoc注释是一种多行注释,以/**开头,而以*/结束,注释可以包含一些html标记符和专门的关键词。使用javadoc注释的好处是编写的注释可以被自动转为在线文档,省去了单独编写程序文档的麻烦。
例如:
/**
*thisisanexampleof
*javadoc
*@authordarchon
*@version0.1,10/11/20xx
*/
在每个程序的最开始部分,一般都用javadoc注释对程序的总体描述以及版权信息,之后在主程序中可以为每个类、接口、方法、字段添加javadoc注释,每个注释的开头
部分先用一句话概括该类、接口、方法、字段所完成的功能,这句话应单独占据一行以突
出其概括作用,在这句话后面可以跟随更加详细的描述段落。在描述性段落之后还可以跟随一些以javadoc注释标签开头的特殊段落,例如上面例子中的@auther和@version,这些段落将在生成文档中以特定方式显示。
变量和常量命名
变量的命名
主要的的命名规范有以下三种:
camel标记法:首字母是小写的,接下来的单词都以大写字母开头
pascal标记法:首字母是大写的,接下来的单词都以大写字母开头
匈牙利标记法:在以pascal标记法的变量前附加小写序列说明该变量的类型
在java我们一般使用匈牙利标记法,基本结构为scope_typeVariablename,它使用1-3字符前缀来表示数据类型,3个字符的前缀必须小写,前缀后面是由表意性强的一个单词或多个单词组成的名字,而且每个单词的首写字母大写,其它字母小写,这样保证了对变量名能够进行正确的断句。例如,定义一个整形变量,用来记录文档数量:
intdoccount,其中int表明数据类型,后面为表意的英文名,每个单词首字母大写。这样,在一个变量名就可以反映出变量类型和变量所存储的值的意义两方面内容,这使得代码语句
变量和常量命名
变量的命名
主要的的命名规范有以下三种:
camel标记法:首字母是小写的,接下来的单词都以大写字母开头
pascal标记法:首字母是大写的,接下来的单词都以大写字母开头
匈牙利标记法:在以pascal标记法的变量前附加小写序列说明该变量的类型
在java我们一般使用匈牙利标记法,基本结构为scope_typeVariablename,它使用1-3字符前缀来表示数据类型,3个字符的前缀必须小写,前缀后面是由表意性强的一个单词或多个单词组成的名字,而且每个单词的首写字母大写,其它字母小写,这样保证了对变量名能够进行正确的断句。例如,定义一个整形变量,用来记录文档数量:
intdoccount,其中int表明数据类型,后面为表意的英文名,每个单词首字母大写。这样,在一个变量名就可以反映出变量类型和变量所存储的值的意义两方面内容,这使得代码语句
可读性强、更加容易理解。byte、int、char、long、float、double、boolean和short。
数据类型/前缀(附)
byteb
charc
shortsh
inti
longl
charc
strings
floatf
doubled
hashtableh
[]arr
listlst
Vectorv
数据类型/前缀(附)
byteb
charc
shortsh
inti
longl
charc
strings
floatf
doubled
hashtableh
[]arr
listlst
Vectorv
stringbuffersb
booleanb
bytebt
mapmap
objectob
对于在多个函数内都要使用的全局变量,在前面再增加“g_”。例如一个全局的字符串变量:g_struserinfo。
在变量命名时要注意以下几点:
·选择有意义的名字,注意每个单词首字母要大写。
·在一段函数中不使用同一个变量表示前后意义不同的两个数值。
·i、j、k等只作为小型循环的循环索引变量。
·避免用Flag来命名状态变量。
·用is来命名逻辑变量,如:blnFileisFound。通过这种给布尔变量肯定形式的命名方式,使得其它开发人员能够更为清楚的理解布尔变量所代表的意义。
·如果需要的话,在变量最后附加计算限定词,如:cursalessum。
booleanb
bytebt
mapmap
objectob
对于在多个函数内都要使用的全局变量,在前面再增加“g_”。例如一个全局的字符串变量:g_struserinfo。
在变量命名时要注意以下几点:
·选择有意义的名字,注意每个单词首字母要大写。
·在一段函数中不使用同一个变量表示前后意义不同的两个数值。
·i、j、k等只作为小型循环的循环索引变量。
·避免用Flag来命名状态变量。
·用is来命名逻辑变量,如:blnFileisFound。通过这种给布尔变量肯定形式的命名方式,使得其它开发人员能够更为清楚的理解布尔变量所代表的意义。
·如果需要的话,在变量最后附加计算限定词,如:cursalessum。
·命名不相包含,cursales和cursalessum。
·staticfinal变量(常量)的名字应该都大写,并且指出完整含义。
·如果需要对变量名进行缩写时,一定要注意整个代码中缩写规则的一致性。例如,如果在代码的某些区域中使用intcnt,而在另一些区域中又使用intcount,就会给代码增加不必要的复杂性。建议变量名中尽量不要出现缩写。
·通过在结尾处放置一个量词,就可创建更加统一的变量,它们更容易理解,也更容易搜索。例如,请使用strcustomerFirst和strcustomerlast,而不要使用strFirstcustomer和strlastcustomer。常用的量词后缀有:First(一组变量中的第一个)、last(一组变量中的最后一个)、next(一组变量中的下一个变量)、prev(一组变量中的上一个)、cur(一组变量中的当前变量)。
·为每个变量选择最佳的数据类型,这样即能减少对内存的需求量,加快代码的执行速度,又会降低出错的可能性。用于变量的数据类型可能会影响该变量进行计算所产生的结果。在这种情况下,编译器不会产生运行期错误,它只是迫使该值符合数据类型的要求。这类问题极难查。
·尽量缩小变量的作用域。如果变量的作用域大于它应有的范围,变量可继续存在,并且在
·staticfinal变量(常量)的名字应该都大写,并且指出完整含义。
·如果需要对变量名进行缩写时,一定要注意整个代码中缩写规则的一致性。例如,如果在代码的某些区域中使用intcnt,而在另一些区域中又使用intcount,就会给代码增加不必要的复杂性。建议变量名中尽量不要出现缩写。
·通过在结尾处放置一个量词,就可创建更加统一的变量,它们更容易理解,也更容易搜索。例如,请使用strcustomerFirst和strcustomerlast,而不要使用strFirstcustomer和strlastcustomer。常用的量词后缀有:First(一组变量中的第一个)、last(一组变量中的最后一个)、next(一组变量中的下一个变量)、prev(一组变量中的上一个)、cur(一组变量中的当前变量)。
·为每个变量选择最佳的数据类型,这样即能减少对内存的需求量,加快代码的执行速度,又会降低出错的可能性。用于变量的数据类型可能会影响该变量进行计算所产生的结果。在这种情况下,编译器不会产生运行期错误,它只是迫使该值符合数据类型的要求。这类问题极难查。
·尽量缩小变量的作用域。如果变量的作用域大于它应有的范围,变量可继续存在,并且在
不再需要该变量后的很长时间内仍然占用资源。它们的主要问题是,任何类中的任何方法都能对它们进行修改,并且很难跟踪究竟是何处进行修改的。占用资源是作用域涉及的一个重要问题。对变量来说,尽量缩小作用域将会对应用程序的可靠性产生巨大的影响。关于常量的命名方法,在jaVa代码中,无论什么时候,均提倡应用常量取代数字、固定字符串。也就是说,程序中除0,1以外,尽量不应该出现其他数字。常量可以集中在程序开始部分定义或者更宽的作用域内,名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线“_”来分割这些单词如:字符串常量名
num_days_in_week、max_Value。
篇三:java编程命名规范
java编程命名规范
命名规范
定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性)
package的命名
num_days_in_week、max_Value。
篇三:java编程命名规范
java编程命名规范
命名规范
定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性)
package的命名
package的名字应该都是由一个小写单词组成。
class的命名
class的名字必须由大写字母开头而其他字母都小写的单词组成
class变量的命名
变量的名字必须用一个小写字母开头。后面的单词用大写字母开头。staticFinal变量的命名
staticFinal变量的名字应该都大写,并且指出完整含义。
参数的命名
参数的名字必须和变量的命名规范一致。
数组的命名
数组应该总是用下面的方式来命名:
byte[]buffer;而不是:bytebuffer[];
方法的参数
使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字:
setcounter(intsize){
this.size=size;
class的命名
class的名字必须由大写字母开头而其他字母都小写的单词组成
class变量的命名
变量的名字必须用一个小写字母开头。后面的单词用大写字母开头。staticFinal变量的命名
staticFinal变量的名字应该都大写,并且指出完整含义。
参数的命名
参数的名字必须和变量的命名规范一致。
数组的命名
数组应该总是用下面的方式来命名:
byte[]buffer;而不是:bytebuffer[];
方法的参数
使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字:
setcounter(intsize){
this.size=size;
}
java文件样式
所有的java(*.java)文件都必须遵守如下的样式规则
版权信息
版权信息必须在java文件的开头,比如:
/**
*copyright2000shanghaixxxco.ltd.
*allrightreserved.
*/
其他不需要出现在javadoc的信息也可以包含在这里。
package/imports
package行要在import行之前,import中标准的包名要在本地的包名之前,而且按照字母顺序排列。如果import行中包含了同一个包中的不同子目录,则应该用*来处理。
packagehotlava.stats;
importjava.io.*;
java文件样式
所有的java(*.java)文件都必须遵守如下的样式规则
版权信息
版权信息必须在java文件的开头,比如:
/**
*copyright2000shanghaixxxco.ltd.
*allrightreserved.
*/
其他不需要出现在javadoc的信息也可以包含在这里。
package/imports
package行要在import行之前,import中标准的包名要在本地的包名之前,而且按照字母顺序排列。如果import行中包含了同一个包中的不同子目录,则应该用*来处理。
packagehotlava.stats;
importjava.io.*;
importjava.util.observable;
importhotlava.util.application;
这里java.io.*使用来代替inputstreamandoutputstream的。
class
接下来的是类的注释,一般是用来解释类的。
/**
*aclassrepresentingasetofpacketandbytecounters
*itisobservabletoallowittobewatched,butonly
*reportschangeswhenthecurrentsetiscomplete
*/
接下来是类定义,包含了在不同的行的extends和implements
publicclasscounterset
extendsobservable
implementscloneable
classFields
importhotlava.util.application;
这里java.io.*使用来代替inputstreamandoutputstream的。
class
接下来的是类的注释,一般是用来解释类的。
/**
*aclassrepresentingasetofpacketandbytecounters
*itisobservabletoallowittobewatched,butonly
*reportschangeswhenthecurrentsetiscomplete
*/
接下来是类定义,包含了在不同的行的extends和implements
publicclasscounterset
extendsobservable
implementscloneable
classFields
接下来是类的成员变量:
/**
*packetcounters
*/
protectedint[]packets;
public的成员变量必须生成文档(javadoc)。proceted、private和package定义的成员变量如果名字含义明确的话,可以没有注释。
存取方法
接下来是类变量的存取的方法。它只是简单的用来将类的变量赋值获取值的话,可以简单的写在一行上。
/**
*getthecounters
*@returnanarraycontainingthestatisticaldata.(java类名命名规范)thisarrayhasbeen
*freshlyallocatedandcanbemodifiedbythecaller.
*/
/**
*packetcounters
*/
protectedint[]packets;
public的成员变量必须生成文档(javadoc)。proceted、private和package定义的成员变量如果名字含义明确的话,可以没有注释。
存取方法
接下来是类变量的存取的方法。它只是简单的用来将类的变量赋值获取值的话,可以简单的写在一行上。
/**
*getthecounters
*@returnanarraycontainingthestatisticaldata.(java类名命名规范)thisarrayhasbeen
*freshlyallocatedandcanbemodifiedbythecaller.
*/
publicint[]getpackets(){returncopyarray(packets,offset);}
publicint[]getbytes(){returncopyarray(bytes,offset);}
publicint[]getpackets(){returnpackets;}
publicvoidsetpackets(int[]packets){this.packets=packets;}
其它的方法不要写在一行上
构造函数
接下来是构造函数,它应该用递增的方式写(比如:参数多的写在后面)。
访问类型("public","private"等.)和任何"static","final"或
"synchronized"应该在一行中,并且方法和参数另写一行,这样可以使方法和参数更易读。
public
counterset(intsize){
this.size=size;
}
克隆方法
如果这个类是可以被克隆的,那么下一步就是clone方法:
publicint[]getbytes(){returncopyarray(bytes,offset);}
publicint[]getpackets(){returnpackets;}
publicvoidsetpackets(int[]packets){this.packets=packets;}
其它的方法不要写在一行上
构造函数
接下来是构造函数,它应该用递增的方式写(比如:参数多的写在后面)。
访问类型("public","private"等.)和任何"static","final"或
"synchronized"应该在一行中,并且方法和参数另写一行,这样可以使方法和参数更易读。
public
counterset(intsize){
this.size=size;
}
克隆方法
如果这个类是可以被克隆的,那么下一步就是clone方法:
public
objectclone(){
try{
countersetbj=(counterset)super.clone();
obj.packets=(int[])packets.clone();
obj.size=size;
returnobj;
}catch(clonenotsupportedexceptione){
thrownewinternalerror("unexpectedclonenotsupportedexception:"+e.getmessage());
}
}
类方法
下面开始写类的方法:
/**
*setthepacketcounters
objectclone(){
try{
countersetbj=(counterset)super.clone();
obj.packets=(int[])packets.clone();
obj.size=size;
returnobj;
}catch(clonenotsupportedexceptione){
thrownewinternalerror("unexpectedclonenotsupportedexception:"+e.getmessage());
}
}
类方法
下面开始写类的方法:
/**
*setthepacketcounters
*(suchaswhenrestoringfromadatabase)
*/
protectedfinal
voidsetarray(int[]r1,int[]r2,int[]r3,int[]r4)
throwsillegalargumentexception
{
//
//ensurethearraysareofequalsize
//
if(r1.length!=r2.length||r1.length!=r3.length||r1.length!=r4.length)
thrownewillegalargumentexception("arraysmustbeofthesamesize");
system.arraycopy(r1,0,r3,0,r1.length);
system.arraycopy(r2,0,r4,0,r1.length);
}
*/
protectedfinal
voidsetarray(int[]r1,int[]r2,int[]r3,int[]r4)
throwsillegalargumentexception
{
//
//ensurethearraysareofequalsize
//
if(r1.length!=r2.length||r1.length!=r3.length||r1.length!=r4.length)
thrownewillegalargumentexception("arraysmustbeofthesamesize");
system.arraycopy(r1,0,r3,0,r1.length);
system.arraycopy(r2,0,r4,0,r1.length);
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论