赵工的个人空间


专业技术部分转网页计算转业余爱好部分


 手持终端

首页 > 专业技术 > 手持终端 > Java源文件结构与保留字
Java源文件结构与保留字

Java语言的源程序代码由一个或多个编译单元组成,Java严格区分大小写字母,定义为public的类名必须与Java文件名完全一致,每个Java源文件只能有一个定义为public的类,但可以有几个非public的类名。

1.package语句:

在大型项目开发中,为了避免类名重复,经常使用包(Package)来组织各个类,包的名称建议使用公司域名的倒写,如cn.dwenzhao,并将其放置在cn\dwenzhao下,然后在程序中加入语句package cn.dwenzhao;,这样便于区分不同公司开发的相同名字的类。
在同一个项目组中,经常使用功能或模块的名称来作为子包名。一般来说,如果在程序中使用Package将程序打包,则将程序放到对应的目录下,这样不违背Package的设计初衷。比如,package cn.dwenzhao.complex放置在cn\dwenzhao\complex目录下。

2.import语句:

import语句应出现在package语句之后,类的定义之前。package语句只能有一个,而import语句可以有多个。使用import来引入包中的一个类,或者包中所有的类。语法:
import <pkg_name> [.<sub_pkg_name>].<class_name>;
import <pkg_name> [.<sub_pkg_name>].*;
示例:
import cn.dwenzhao.complex.Calculator;
import cn.dwenzhao.complex.*;
通过import引入包中的类时,不会递归执行,即下面的子目录中的类不会引入。
Java编译器默认为所有的Java程序引入了JDK的java.lang包中所有的类,其中定义了一些常用类,如System、String、Object、Math等,因此可以直接使用这些类而不必显式引入,但使用其他的类则必须先引入后使用。
可以通过在类名之前加上不同的限制符,如public等来控制类的适用范围。

示例:
Parent.java
package parent;
import parent.child.Child;
public class Parent {
public Parent() {
System.out.print("I am a parent");
}
public static void main(String[] args) {
Child c=new Child();
Parent p=new Parent();
}
}
Child.java
package parent.child;
public class Child {
public Child() {
System.out.print("I am a child \n");
}
}

3.JDK中常用的包:

JDK核心类库中,提供了几千个类。通过这些类,可以基本实现用户界面设计、输出/输入、网络和日期等基本的目的。这些类都按照功能、作用,放置在不同的包中。
·java.lang:包含一些Java语言的核心类,如String、Math、Integer、System、Thread,提供常用功能。默认情况下,编译器会将这个包自动引入到任何的Java程序中,使用这个包中的类可以不用import语句显示引用。
·java.net:包含执行与网络有关的操作的类。
·java.io:包含能提供多种输入/输出功能的类。
·java.util:包含一些实用工具类及数据结构类,如定义系统特性、使用与日期日历相关的函数、集合、堆栈等。
·java.sql:包含用于访问数据库的类。

4.Java注释:有三种注释方式

1)单行注释:

在代码中单起一行注释,注释前最好有一行空行,并与其后的代码具有一样的缩进层级。
//注释内容
如果单行无法完成,应采用块注释。

2)多行注释:

注释若干行,通常用于提供文件、方法、数据结构等的意义与用途的说明,或者算法的描述。一般位于一个文件或者方法的前面,起到引导作用。
/*
注释内容
*/

3)文档注释javadoc:

可以从Java源文件中提取这些注释的内容,来产生HTML格式的API文档。基本格式:
/**
文档注释内容
*/
文档注释并不是可以放在Java代码的任何地方,javadoc工具从Java代码中提取注释生成API文档时,主要从以下几项内容中提取信息,包、公有类接口、公有方法和受保护方法、公有属性和受保护属性,因此文档注释也应该放到相应的位置中。
①文档注释位置:
·类注释:用于说明整个类的功能、特性等,应放在所有import语句之后,class定义之前
·方法注释:用来说明方法的定义,应放在它所描述的方法定义之前
·属性注释:默认情况下,只对public和protected属性产生文档
·包注释:对包的注释只能通过在包对应的目录中添加package.html文件来实现,其<body>和</body>之间的内容将会被提取出来当作包的说明。
·概要注释:对所有类文件提供概要说明的文件,可以为这类注释新建一个overview.html文件,其<body>和</body>之间的内容都会被提取。
②javadoc标记:
在javadoc注释中,常用@来表示一个javadoc标记,常用的为:
·@author:作者
·@version:版本
·@docroot:表示产生文档的根路径
·@deprecated:不推荐使用的方法
·@param:方法的参数类型
·@return:方法的返回类型
·@see:用于指定参考的内容
·@exception:抛出的异常
·@throws:抛出的异常,和exception同义
上述标记是有位置限制的:
可以出现在类或者接口文档注释中的标记有@see、@deprecated、@author、@version等;可以出现在方法或者构造方法文档注释中的标记有@see、@deprecated、@param、@return、@throws、@exception等;可以出现在属性文档注释中的有@see、@deprecated等。
③javadoc命令语法:
javadoc [options] [packagenames] [sourcefiles] [@files]
参数可以按照任意顺序排列。其中:
·[packagenames] :包列表,是用空格分隔的一系列包名,不能使用通配符
·[sourcefiles]:源文件列表,空格分隔的一系列源文件名,可以使用通配符,允许使用类源文件、包描述文件、总体概述文件及其他杂文件。
包描述文件名称必须是package.html,并与包的.java文件放置在一起,描述文件中<body>和</body>之间的内容会被javadoc处理后放到该包的Package Summary页面中,而其中的第一句放到输出的Overview Summary页面中并加上该包的名称。
总体概述文件可以被任意命名并放置在任意位置,-overview选项指示路径和名称,文件使用HTML标记,<body>和</body>之间的内容会被javadoc处理后放到该包的Overview Summary页面的底部,而把其中的第一句放到Overview Summary页面的顶部。
其他杂文件包括与javadoc输出的HTML相关的一些图片、Java源代码、类class、小程序Applets、HTML文件,它们必须放置在doc-file目录中,每一个包都可以有自己的doc-files目录。
·[@files]:包含文件
为了简化javadoc命令,可以把需要建立文档的文件名和包名放在一个或多个文本文件中。比如建立一个mypackage.txt文件,内容为:
com.oristand.college
  com.oristand.school
然后执行 javadoc -d spidoc @mypackage.txt
相当于执行了 javadoc -d spidoc com.oristand.college com.oristand.school
·options:命令行选项:
只显示公共类和成员用-public;只显示受保护的和公共的类和成员用-protected(默认);只显示包、受保护的和公共的类及成员用-package;显示所有类和成员用-private;-classpath classpathlist指定查找引用类的路径,多个路径用分号分隔。
示例:
/**
*javadoc演示--<b>JavaDoc</b>
*
*@author dwenzhao
*@version 1.0 2009/12/15
*/
public class JavaDoc {
/**
*在main()方法中使用的显示用字符串
*
*@see #main(java.lang.String[])
*/
static String SDisplay;
static String 变量;
/**
*显示JavaDoc
*
@param args
*从命令行中输入字符串
*/
public static void main(String args[]) {
SDisplay="Hello World";
变量="test";
System.out.println(SDisplay+变量);
}
}
用命令生成API文档:
javadoc -private -d doc -author -version JavaDoc.java

5.分隔符:

1)空白分隔符:

空白分隔符包括空格、回车、换行和制表符Tab,主要作用是分隔,帮助Java编译器解析程序。在代码排版时,适当使用空格和缩进可以增强代码的可读性。

2)普通分隔符:

有7种普通分隔符:


分隔符

名称

功能说明

{}

大括号

用来定义块、类、方法及局部范围,也用来包括自己初始化的数组的值。

[]

中括号

用来进行数组的声明,也用来撤销对数组值的引用

()

小括号

定义和调用方法时用来容纳参数表;控制语句或强制类型转换的表达式中用来表示执行或计算的优先级

;

分号

表示一条语句的结束

,

逗号

在变量生命中用于分隔变量表中的各个变量;for语句中用来将圆括号里的语句链接起来

:

冒号

说明语句标号

.

用于类/对象和它的属性或者方法之间的分隔

6.标识符:

标识符是赋予变量、类或方法的名称,程序通过这些名称来访问或修改某个数据的值。标识符可以字母、下划线或$开始,随后跟字母或数字。字母的范围并不局限与26个英文字母,而是包括任何语言中的表示字母的任何Unicode字符。标识符没有规定最大长度。Java语言是大小写敏感的。
标识符不能有空格,不能以数字开头,不能是Java关键字,不能有@、#等符号

7.Java关键字/保留字:

Java中一些赋予特定含义有专门用途的单词称为关键字keyword,定义标识符时不要和这些关键字重名,否则就会出现错误。Java中一共有51个关键字,都是小写的:

abstract

assert

boolean

break

byte

continue

case

catch

char

class

const

double

default

do

extends

else

final

float

for

goto

long

if

implements

import

native

new

null

instanceof

int

interface

package

private

protected

public

return

short

static

strictfp

super

switch

synchronized

this

while

void

throw

throws

transient

try

volatile

 

 

 

 

 

8.Java命名规范:

命名规范,也称命名约定,在声明包名、类名、方法名、变量名、常量名时,尽量体现各自描述的事务或属性、功能等:


元素名称

命名规则

示例


Package

采用完整英文描述符,应该都是小写字母组成。全局包用域名反转并接包名

com.srt.moa.action


Class

一般使用(动)名词或(动)名词组合来表示,并且各名词的首字母大写,其他字母小写

Customer, SavingsAccount

接口
Interface

接口名与类名类似

Contactable,Prompter

方法
Method

一般使用动宾短语组成,表示一个动作。首字母小写,而其他单词的首字母大写。

public void balanceAccount
(int deposit) {...}

异常
Exception

通常采用字母e

Exception e

变量名

一般使用一个(动)名词或其组合表示,并且首字母小写,其他单词的首字母大写

private int age;
private String studentName;

静态常量字段
static final

全部采用大写字母,单词之间用下划线分隔

static final int
MAX_SIZE=10;

数组

总是以下面的方式命名 byte[] buffer

byte[] buffer

9.代码编写格式规范:

1)缩进一般是每行2个或4个空格,使排版整齐,语句可读
2)关键字和操作符之间加适当的空格
3)相对独立的程序块与块之间加空行
4)较长的语句、表达式等要进行适当的划分
5)一行只写一条语句,即使短语句也要分行
6)程序块由大括号界定,大括号必须成对出现,且编程时应各占独立一行,同时与引用它们的语句左对齐

 

Copyright@dwenzhao.cn All Rights Reserved   备案号:粤ICP备15026949号
联系邮箱:dwenzhao@163.com  QQ:1608288659